我已经手动配置了/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")"
如果您检查日志文件或根的电子邮件,您应该会看到有关该问题的错误消息。