logs
Советы работы с содержимым архивов без явной переархивации
В системе обычно присутствует набор утилит облегчающих жизнь при работе с зархивироваными логами или документацией.
Названия этих утилиток начинаются с префикса z: zgrep, zless, zdiff, zmore и подобные.
Так же существует набор утилит для работы bzip2 ахивами (префикс bz*) и zip архивами (префикс zip*).
Кроме того многие утилитки самостоятельно умеют работать с архивироваными файлами. Например: vim, gv умеет открывать ps.gz, pdf.gz, и подобное.
Также в пакете moreutils так же существует утилита zrun, которая автоматически распаковывает файл из рахива и передает его указаной команде.
Примеры использования:
Лог загрузки Debian и Ubuntu
Команда dmesg и содержимое файла /var/log/dmesg позволяют посмотреть сообщения ядра Linux при последней загрузке. При этом строки, которые видно на экране при загрузке Debian, заметно отличаются от этих самых сообщений ядра так как содержат вывод скриптов инициализации. Иногда получается что какое-нибудь сообщение об ошибке мелькает при загрузке, но потом в dmesg его невидно. Что делать? А варианты такие...
Логи в цвете
Узнал про интересную утилитку, которая подсвечивает логи, что облегчает их чтение. Очень удобно.
Имя ей CCZE. Правда она не обновлялась с 2003 года, но это и не нужно.
Ставим:
sudo aptitude install ccze
Юзаем:
ccze -A < /var/log/syslog | tail -f -n 20
Ключ -А нужен чтобы текст выводился "сырым", иначе всякие tail'ы да less'ы подглючивают.
Подсветка tail -f
При просмотре логов с помошью tail -f подсвечиваем нужные слова:
tail -f /var/log/messages | perl -pe 's/(aaa|bbb)/\e[0;36;10m$&\e[0m/g'
Разбор полётов:
(aaa|bbb) - подсветка строк aaa и bbb.
\b((aaa|bbb)\b - подсветка слов aaa и bbb.
.*\b((aaa|bbb)\b.* - подсветка строчки, в которой встречаются aaa и bbb.
P.S. украденно отсюда:
http://fixunix.com/unix/83044-tail-color.html
как вывести на одну консоль несколько программ
иногда возникает поребность вывалить на одну консоль вывод носкольких программ (например для мониторинга логов),
специально для таких задач создавалась программа screen.иногда возникает поребность вывалить на одну консоль вывод нескольких программ (например для мониторинга логов),
специально для таких задач создавалась программа screen.
однако, каждый раз запускать ее руками и настраивать расположение и содержание окон довольно утомительно, поэтому я придумал, как можно автоматизировать процесс.
создадим какой-нить фал, например ~/bin/logs следующего содержания
#!/bin/sh window=1 function add(){ [ $window -gt 1 ] && { echo 'split'; echo 'focus'; } title=$1 shift 1 echo "screen $window $*" echo "title $title" window=$((window+1)) } file=`mktemp` { ########################################## ######## ADD YOUR PROGRAMS HERE ########## ########################################## # format: add WINDOW_NAME COMMAND


