我想监视不断生成的日志,以寻找关键字让我知道某个组件是否关闭。确定了关键字后,我想通过电子邮件通知我的个人gmail。
到目前为止,我已经能够分别完成关键字监视和电子邮件通知,但从未在脚本中一起完成。我已经尝试了以下方法进行监视:
tail -fn0 user | awk '/disconnect_tcp_conn/ { print | "echo server down" }'
然后发送至电子邮件:
mail -s "server down.... again" blahblah@gmail.com < /dev/null
我尝试使用grep进行监视,但是awk似乎效果最好。.至少对于我的使用方式。似乎无法正确理解语法以同时使它们同时工作。
我尝试过:
tail -fn0 user | awk '
/disconnect_tcp_conn/ { print | "echo server down") }
/disconnect_tcp_conn/ { system( "mail -s "server down.... again" blahblah@gmail.com < /dev/null ") }'
还有:
tail -fn0 user | awk '
/disconnect_tcp_conn/ { print | "echo server down") }
/disconnect_tcp_conn/ { cmd=mail -s "server down.... again3" blahblah@gmail.com < /dev/null ") }'
任何帮助都会很棒。谢谢!
答案 0 :(得分:0)
{action}
中可以有多行,并且可以转义要通过\"
传递的双引号system()
:
tail -fn0 user | awk '/disconnect_tcp_conn/ {
system("mail -s \"server down... again\" blahblah@gmail.com </dev/null")
print "server down... again"
exit
}'
答案 1 :(得分:0)
也可以按照以下步骤简单地完成:
tail -f /path/to/file | while read line
do case "$line" in
*"server down"*) echo "$line" | mutt -s "Server Down" an_email@mail.com;
;;
esac
done