gpt4 book ai didi

ksh - 为 KSH 上运行的多个后台脚本生成带有输出结果的电子邮件

转载 作者:行者123 更新时间:2023-12-02 02:52:04 26 4
gpt4 key购买 nike

首先介绍一点背景知识:我们有 9 个 JVM 服务器,它们输出日志文件,我不断地解析这些日志文件以查找何时发生错误。日志每 5-10 分钟滚动一次,但文件名不会更改。我使用 SupperPutty 打开 9 个 session ,并对每个日志文件运行以下脚本,但这仅在我工作时有效。

tail -f *filename* | nawk 'c-->0;$0~s{if(b)for(c=b+1;c>1;c--)print r[(NR-c+1)%b];print;c=a}b{r[NR%b]=$0}' b=2 a=4 s="Bind value for HASCHILDREN = 0"

所以我想将上面的脚本变成一个后台脚本,当发生错误时它会向我发送电子邮件。我首先必须 KSH 进入第二个 shell,以避免在退出时停止脚本(即使我将它们设置为 NOHUP)。我尝试按如下方式设置脚本,但发生错误时它不会向我发送电子邮件。

tail -f *filename* | nawk 'c-->0;$0~s{if(b)for(c=b+1;c>1;c--)print r[(NR-c+1)%b];print;c=a}b{r[NR%b]=$0}' b=2 a=4 s="Bind value for HASCHILDREN = 0" | mailx -s "Childrens flag has been detected" *email* &

任何帮助将不胜感激。

最佳答案

您可以尝试在 crontab 文件中安排一个 cron 作业,每 5-10 分钟调用一个脚本来检查日志中的任何更改,并在发现错误条目时向您发送电子邮件。

来自 crontab 文档:

crontab 命令调用一个编辑 session ,允许您创建 crontab 文件。您可以在此文件中为每个 cron 作业创建条目。每个条目必须采用 cron 守护程序可接受的形式。有关创建条目的信息,请参阅 crontab 文件条目格式。

示例:

要在每周一、周三和周五早上 6:30 运行日历命令,请输入:

    30 6 * * 1,3,5 /usr/bin/calendar

或者,您可以通过指定 File 参数来创建 crontab 文件。如果该文件存在,则它必须采用 cron 守护程序期望的格式。

关于ksh - 为 KSH 上运行的多个后台脚本生成带有输出结果的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18699503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com