Есть ли способ контролировать файл журнала, используя shell script
как
tail -f /var/log/errorlog.txt
затем, если появится что-то вроде down
, генерируйте SNMPTRAP
до snmp manager
и продолжайте мониторинг
У меня есть сценарий SNMP
для генерации SNMPTrap
, и он выглядит как
snmptrap -v v2c -c community host "Error message"
Позволяет сказать, что имя сценария snmp.sh
У меня вопрос, как выполнить следующую операцию
- Хвост бревна
- если ключевое слово [down] соответствует, используйте скрипт snmp.sh для отправки оповещения
- еще оставить
Согласно предложению я попробовал это
tail -F /data/log/test.log |
egrep -io 'got signal 15 | now exiting' |
while read -r line ;
do
case "$line" in
"got signal 15")
echo "hi"
;;
"now exiting")
echo "hi2"
;;
*)
esac
done
но проблема в том, что tail не работает здесь с оператором case, всякий раз, когда добавляются новые данные журнала, он не идет в оператор case и выводит вывод
Я мог бы получить вывод, если я использую cat / less / more
Не могли бы вы кто-нибудь сказать, пожалуйста, какую ошибку я здесь совершил?
Заранее спасибо