从cron运行脚本失败

我有一些不可靠的连接的networkingpipe理器,不幸的是处理不好。 目前,我需要检查连接,然后重新启动networkingpipe理员,如果我们没有连接,因为这将在大多数情况下处理我们看到他们失败的具体情况。我有以下脚本,运行良好时,我运行它用手:

#!/bin/bash host=http://google.com timeout=60 if ! wget -S --spider --timeout=$timeout $host &>/dev/null; then restart network-manager fi 

我目前在/etc/cron.d/中有一个条目,它有*/15 * * * * root /usr/bin/check_connectivity 。 我可以看到脚本正在通过阅读cron日志来运行,但是当我观察networking​​pipe理器日志时,我可以看到,即使在我没有连接活动的情况下进行testing,也不会重新启动连接。 手动运行脚本成功,NM重新启动。 在cron的日志中没有错误消息,即使我删除了输出转储,我仍然没有得到任何回报。 我不知道为什么它失败了。 我可能认为它不能正确地与dbus交谈,但如果是这种情况,我会看到一些错误输出。

检查根目录的电子邮件。 Cron通过邮件将所有输出发送给crontab的所有者。 我的猜测是“重启”不在cron的path中。 由于这个原因和其他原因,我总是在我的脚本的顶部附近包含一个“PATH =”行。