linux Shell 监控日志关键字,实时发送报警邮件

在linux系统中如果使用shell做到实时监控日志关键字,如果出现则实时发送报警邮件?

补充:关键是实时并非发送邮件,假设python mail.py + 参数即为发送邮件
场景模拟:
日志:error.log
关键字:danger
日志内容:
2017/03/06 17:00 danger NullErr
2017/03/06 17:01 danger SystemErr
实时报警内容:
17:00时实时检测到danger,实时触发命令python mail.py NullErr
17:01时实时检测到danger,实时触发命令python mail.py SystemErr

阅读 20.3k
5 个回答
tail -f error.log | grep --line-buffered danger | awk '{print $4; fflush}' | while read msg ; do python mail.py $msg; done
  1. mail命令可以用来发送邮件,不过这样的邮件可能会被很多邮件系统退信

  2. 使用 smtp 来发送邮件

grep danger error.log && mail #邮件内容自己来写

保存脚本,再添加到crontab,一分钟一次

新手上路,请多包涵

mail.py在哪里?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题