如果作业状态未启动,请检查日志文件

如果作业状态未启动,请检查日志文件

我想创建读取日志文件的 Linux shell 脚本。

例如。我有包含以下行的日志文件:

Job: One(106) started.
Job: Two(107) started.
Job: Name(111) started.
Job: EXE(112) started.
Job: SMTG(117) started.
...........
.....
...

我想制作一个脚本来检查所有作业并在作业状态未启动时发送电子邮件。作业状态可能是错误、锁定、停止等。我不知道如何编写脚本来准确检查状态是否未启动。

答案1

awk '$0!~/started/{print}' logfile | mail -s "Jobs not started" [email protected]

答案2

grep -v 'Job:.*started.' yourfile.log | while read line; do
    # your not started line is here
    echo $line
done 

小解释: grep将读取您的文件并过滤掉与模式匹配的行,因此我们不匹配已启动的作业。然后您正在阅读未开始的行,您可以echo $line在那里替换并发送电子邮件。

相关内容