Crontab-停止发送邮件,特殊情况||

Crontab-停止发送邮件,特殊情况||

我需要将一个小命令放入我的 crontab 中,该命令用于检查 lighttpd web 服务器是否正在运行,由于某种原因,它有时会挂断。所以我做到了:

*      *       *       *       *       root    /bin/pgrep lighttpd || /usr/local/etc/rc.d/lighttpd restart >/dev/null 2>&1

问题是,它每分钟给我发一封邮件,邮件中是正在运行的 lighttpd 的 PID 号。对于其他 crontab 作业,重定向工作,所以我假设,当有“||”时,它会产生问题。

也许应该有更好的办法来重写 crontab 作业,以便它使用 pgrep 的退出状态,这样我就可以避免“||”。我正在使用 FreeBSD。

感谢您的帮助,现在我禁用了这项工作

答案1

将的输出重定向pgrep/dev/null。您只需要退出状态。

/bin/pgrep lighttpd > /dev/null 2>&1 || /usr/local/etc/rc.d/lighttpd restart >/dev/null 2>&1

相关内容