Скрипт mailchecks.pl в архиве
http://www.intelkom.su/~chek/mms.tgz
вылавливает проверки ящиков в логе и отправляет время проверки в БД
Хоть и посматривал в mailgraph при написании, но всё равно не могу понять как сделать перезапуск демона автоматом при логротейте без правки конфигов этого самого логротейта.
>Скрипт mailchecks.pl в архиве
>http://www.intelkom.su/~chek/mms.tgz
>вылавливает проверки ящиков в логе и отправляет время проверки в БД
>Хоть и посматривал в mailgraph при написании, но всё равно не могу
>понять как сделать перезапуск демона автоматом при логротейте без правки конфигов
>этого самого логротейта.
Может я не совсем хорошо все понял, но если стоит задача перезапустить демон при наступлении какого-либо события - почему бы не послать демону сигнал в момент наступления события, а в самом деломе описать обработку этого сигнала?
>Скрипт mailchecks.pl в архиве
>http://www.intelkom.su/~chek/mms.tgz
>вылавливает проверки ящиков в логе и отправляет время проверки в БД
>Хоть и посматривал в mailgraph при написании, но всё равно не могу
>понять как сделать перезапуск демона автоматом при логротейте без правки конфигов
>этого самого логротейта.
Гм а каким образом вы производите чтение логов?
Попробуйте создать FIFO ('mkfifo /var/run/parser.fifo') и в конфиге сислога (/etc/syslog.conf) перенаправлять лог туда ('mail.* /var/run/parser.fifo')Ну и соттветстввенно скриптом выгребать логи уже из FIFO.
#...
open FIFO, $fifo_file || die;
while($line = <FIFO>)
{
#Чегото делаем
}
#...Тогда ротация вам будет нипочем
Я ни грамма не понял, про какой демон тут идёт речь. Обычно перезапуск демона осуществляется отправкой ему сингнала SigHup (HangUp), номер сигнала=1. Узнать PID большинства демонов можно по файлу /var/run/имя_демона.pid (у некоторых демонов типа Apache или Squid файл.pid лежит в др.директории); читать из этого файла надо толшько первую строчку (т.к. в следующих м.б. разная информация).