如果条件不匹配,脚本需要发送邮件

如果条件不匹配,脚本需要发送邮件

寻求您的建议..我期望脚本能够完美执行并将输出保存到文件,文件名为“fileout”..fileout 的输出如下所示..

 NAME                               STATE            
--------------------------------------------------------------------
Data Listener                      not running
DB Server                          not running
EST Service                         running
Profiler                           not running
Indexing Engine                    disabled
AD Listener                        not running

我正在尝试使用脚本..条件是..如果 EST 服务状态显示除运行之外的任何其他状态,则它应该发送邮件,如果没有,则继续以定义的间隔(10 分钟)运行..我正在为此使用 nohup,但看起来我的脚本在匹配这种条件方面存在一些问题,因此寻求您的建议。

tail -f fileout | stdbuf -oL grep not running | mailx -s "notification" -r "[email protected]" "[email protected]"

答案1

如果您只想对 EST 服务执行操作,那么您可以专门针对该服务进行 grep。

tail -f fileout | stdbuf -oL grep "not running" | grep "EST Service" | xargs -l -i mailx -s {} -r "[email protected]" "[email protected]"

相关内容