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