Alexander Gerasiov wrote:
Господа, возник такой вопрос. Знает ли кто-нибудь утилиту, которая умела бы читать сислог (в фоне) и в случае, если там встречается некая подстрока, выполнять какое-то действие (запускать внешнюю команду). С одной стороны, ради такой простой задачи ставить большой IDS не хочется, а с другой стороны уж больно банальная идея и не верится, что никто ничего такого не написал уже. Или надо изобретать велосипед самому?
Не знаю работает-ли это с syslog'ом, у меня syslog-ng: ======================== filter fCisco { host("^mrc[0-9]*"); }; destination dCisco { file("/var/log/cisco/$HOST.log"); };destination dCiscoLogChecker { program("/opt/ciscoLogChecker/ciscoLogChecker3.sh"); }; log { source(src); filter(fCisco); destination(dCisco); destination(dCiscoLogChecker); };
========================Ничего перезапускать не нужно, весь вывод попадает на stdin скрипта, в котором:
======================== while read line do [ some test ] && echo "$line" | mail root done ======================== -- Pavel