第一次发生故障时,给系统pipe理员发送电子邮件的好方法是什么?

我有一个cron作业,将复制一些文件等。 由于主机无法访问,它会不时启动失败。 当它开始失败时,我希望得到通知 – 但我不想每五分钟发一封电子邮件告诉我问题正在进行中。

我可以想办法解决一个解决scheme,但我不知道这个function是否已经存在的地方? 服务器是OSX,但我只有shell访问它。

那么,一个简单的解决scheme就是在第一次失败和通知时只需触摸“状态”文件。 然后下一次脚本运行时,检查该状态文件,如果存在,则跳过通知。 下一次成功复制后,删除状态文件。

像monit这样的东西可能会做你想要的。 让你的脚本把错误写到一个文件中,然后在第一次日志变为非零时设置监听来发出警报。 语法非常灵活,所以我相信你可以自定义一个定义来完成你想要的。

# cront 0 0 0 0 0 root script 2>&1 > /var/scripts/myscript_state #monit config check file myscriptdata with path /var/scripts/myscript_state if changed size then alert 
  • 文件大小testing