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

我需要把我的crontab小命令,这是检查,如果lighttpd Web服务器正在运行,由于某种原因有时hangups。 所以我到了那里:

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

问题是,这个邮件是每分钟发送一次,邮件中是正在运行的lighttpd的PID号。 对于其他crontab作业,redirect工作,所以我认为,当出现“||”时,就会出现问题。

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

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

pgrep的输出redirect到/dev/null 。 所有你想要的是退出状态。

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