我需要每天晚上 2:00 拨打特定的 URl。
为此,我在 cronotab 服务中插入了以下内容:
crontab -e
0 2 * * * wget -q -0 - "http://MYWEBSITE"
但它似乎不起作用......
我哪里错了?
答案1
有一个多余的“-”,它不应该出现在那里,否则对我来说它看起来不错。
0 2 * * * wget -q -0 "http://MYWEBSITE"
您的个人 /var/mail 目录中是否有关于此任务的任何邮件?登录时,您应该会收到此通知:“您有新邮件”。每次运行任务时,Crontab 都会向您发送一封包含 wget 输出的电子邮件。这会告诉您有关错误和成功运行的信息。
编辑:我在文档的任何地方都没有看到“-0”参数,它应该做什么?
答案2
尝试使用 wget 手动运行它,不使用 -0 选项,并在 cmd 中删除多余的 -。如果它运行正常,请在 crontab 中进行相应的更改。还要检查 crontab 日志以了解作业历史记录。
答案3
您可能会发现 crontab 末尾缺少一个换行符 - 这将导致最后一条条目被忽略。
否则,您需要查看失败的原因:
- cronjob 没有运行吗?
- wget 是否失败?
您可以通过添加新作业来测试前者,如下所示:
*/2 8 * * * touch /tmp/test
等待两分钟,看看它是否有效。如果有效,则意味着您的wget
调用失败。您是否缺少 PATH?将其更新为读取/usr/bin/wget
?
答案4
不要问我为什么是“-0”或单个“-”,我不知道它们有什么用,但有人在其他地方向我建议了它们。
然而,我发现这个有效:
0 2 * * * wget -O - -q -t 1 "http://mysite"
无论如何,对于您的建议,请 +1,谢谢