UBUNTU:为什么我的 crontab 没有运行代码?

UBUNTU:为什么我的 crontab 没有运行代码?

我已经手动配置了/etc/crontab添加每月第 9 天运行的事件......

Cron 正在运行,但尚未运行我的代码……我的代码位于最后的线:

17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
23 9    9 * *   root    wget "http://www.mysite.com/url.api?dowhat=mensalcheck" --no-cache --read-timeout=1600 -O "/var/log/mysite.com/$(date "+url-api.%d-%m-%y.log")"

答案1

为了确保你的 cron 正在运行,请使用“crontab -e“ 或者 ”sudo crontab-e“来编辑你的 cron 作业。然后,当你完成编辑并保存文件时,crontab 将正确安装新的 cronjob 以便下次执行。

因此,使用sudo crontab-e并确保至少对该文件做了一次修改。

cron通常有没有 PATH 变量,这意味着它知道在哪里找到获得,所以最好是把在 /usr/bin/wget 中

答案2

您的问题是将cron百分号视为特殊符号。它会将其转换为换行符。您需要转义百分号才能使其正常工作。

23 9 9 * * root wget "http://www.mysite.com/url.api?dowhat=mensalcheck" --no-cache --read-timeout=1600 -O "/var/log/mysite.com/$(date "+url-api.\%d-\%m-\%y.log")"

如果您检查日志文件或根的电子邮件,您应该会看到有关该问题的错误消息。

相关内容