|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 06 Jun 2005 22:52:07 To : Sergej Pupykin Subject : Re: хитрый tail -------------------------------------------------------------------------------- Sergej Pupykin @ Mon, 6 Jun 2005 17:00:39 +0000 (UTC): SP> Как бы более правильно сделать следующую вещь: SP> надо слать по почте все что появляется в логе SP> я сделал так: SP> tail -n 0 -f file.log >file.tmp & SP> while [ 1 ]; do SP> LINES=`cat file.tmp | wc -l` SP> if [ $LINES -gt 0 ]; then SP> cat file.tmp | sendEmail -f ...@inbox.ru -t ....@.....ru -u "..." SP> -s smtp.inbox.ru:25 -v echo -n >file.tmp fi sleep 30 done & SP> в принципе это работает, но иногда появляется куча символов #0 в начале SP> file.tmp SP> я догадываюсь, что это из-за того, что в file.tmp запись из двух мест SP> происходит... Hо как бы сделать более правильно, чтоб такого не было? SP> мож вообще по-другому? надо просто смотреть переодически в лог и SP> слать то, что там появилось. Hу, типа да. Открыть файл скриптом на чем-нибудь более продвинутом и периодически почитывать до конца. Отслеживать в прочитанном последний конец строки на всякий случай. SP> И в догонку, tail -f из альта 2.2 переоткрывает переодически файл, а SP> она же в сусе 9.0 нет. Т.е. в альте файл на котором висит tail можно SP> удалить/перенести создать заново и все будет работать, а в сусе придется SP> перезапускать tail. как с этим можно справиться? Если делать скриптом, то в том же цикле открываем файл с тем же именем, дергаем stat, сравниваем inode. Если не совпадает, малость спим (тот, кто в лог пишет, тоже может не враз закончить), старый открытый файл дочитываем до конца, закрываем, переходим к новому. Что же до tail, то в дебиане, например, есть отдельная программа xtail. До кучи умеет отслеживать несколько файлов и даже целыми директориями. -- Artem Chuprina RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru Рюмку взял - паяльник положил --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/256066aa63ab3.html, оценка из 5, голосов 10
|