Заметки в категории Utilities

scenery - улучшаем читабельность вывода terraform

scenery - это утилита, которая парсит и переформатирует вывод Terraform для лучшей читабельности.

Установка

Установку распишу для Mac OS X, т.к. ей пользуюсь последнее время.

$ brew install go
$ echo export PATH="$HOME/go/bin:$PATH" >> ~/.bashrc
$ source ~/.bashrc
$ go get -u github.com/dmlittle/scenery

Все, можно пользоваться.

Использование

$ terraform …

cTop - мониторинг docker контенеров

cTop - это утилита для мониторинга метрик контейнеров в стиле top.

Она предоставляет метрики как по всем контейнерам сразу:

ctop

так и по одному конкретному:

ctop

Установка

Просто скачайте версию для своей операционной системы.

Linux

sudo wget https://github.com/bcicen/ctop/releases/download/v0.7.1/ctop-0.7.1-linux-amd64 …

Консольные полезности 7

й, где была использована вспышка. Требуется ImageMagick

identify -format "%f F:%[EXIF:Flash]\n" *.jpg | egrep " F:(0|16|24|32)$"

Показать в файле символы табуляции

cat -T example.txt

Показать процессы httpd исключив сам grep

ps auxww | grep "[h]ttpd"

Список 20 самых больших по объему файлов/каталогов в …

Консольные полезности 6

Переименовать файл короткой командой:

mv foo.{old,new}

Показать количество НЕуспешных запросов (не 2хх, 3хх HTTP коды ответа)

awk '$9!~/^[23]/{print $4}' access_log | cut -c1-12 | uniq -c

Создать каталог и сразу перейти в него

mkdir dir && cd $_

Запустить скрипт из крона только если он еще не работает

*/3 …

Консольные полезности 5

Пинг с префиксом в виде времени:

$ stdbuf -i0 -o0 ping 192.168.42.1 | while read l; do echo "[$(date '+%H:%M:%S')] $l"; done

В bash, выполнить предыдущю команду с заменой foo на bar:

$ ^foo^bar

Показать процессы по потреблению питания (полезно для ноутбуков):

$ sudo powertop

Не очищать экран …

Консольные полезности 4

Последние добавленные файлы логов

ls -ltr /var/log | tail

Скопировать права с одного файла на другой

chmod --reference=foo.txt bar.txt

Удалить дубли строк

awk '!seen[$0]++' app.logfile

Хак для cd (смена каталога)

CDPATH=/etc:/usr/local/etc 
cd httpd # cd to /etc/httpd 
cd foo # cd /usr …

Консольные полезности 3

Отправить первые 80 гигабайт диска на удаленный хост:

dd if=/dev/sda bs=1G count=80 |pv -s80G |pbzip2 -c |ssh user@remote 'cat > /tmp/sda-80GB.bz2'

Удалить слово перед курсором:

<Ctrl+W>

Как выйти из vim:

<ESC>:q!

Запустить htop на удаленном сервере с локальным отображением:

ssh host …

Консольные полезности 2

В Линукс найти процесс dd и вывести прогресс его работы:

kill -USR1 $( pidof dd )

Найти к какому пакету относится файл. Перед этим необходимо установить apt-file.

apt-file search /usr/bin/apxs2

Найти строки с eval( в PHP файлах в пользовательский www каталогах:

find /home/*/www -name "*.php" -exec grep --color -H …

Полезные DNS утилиты

Использование указанных утилит для работы с домена и DNS сделает вашу жизнь немного проще. :)

Эти утилиты существуют не только для линукс, но и для Mac. Аналоги есть и в виде сайтов. Стоит только немного поискать.

1. Whois

Версия для Mac: whois
Версия для web: http://whois.domaintools.com/)

Whois - это …

Консольные полезности

Функция-разделитель:

separator(){ printf '%*s\n' $(tput cols) '' | tr ' ' -; }

Перенести процесс в другую консоль:

$ reptyr <pid>

Перевести процесс в фон и уведомить, когда он завершится:

<ctrl-z> bg ; wait %1 ; echo "done" | mail -s "done" you@example.com

Сгенерить данные персонажа для тестов:

rig

Какие сервисы используют не обновленные библиотеки:

$ sudo …