我正在尝试设置一个每20分钟运行一次的cronjob。 这可以手动工作:
php /srv/www/mysite.co.uk/public_html/PP/Make_XML.php LONDON
我尝试使用“crontab -e”并将其设置为每20分钟使用:
*/20 * * * * php /srv/www/mysite.co.uk/public_html/PP/Make_XML.php LONDON
它已保存到/tmp/crontab.0xYhei9m/crontab
它似乎不起作用。 这有什么不对?
编辑:
当前统计数据:
*。 cron启动并运行:
root 31855 1 0 08:39 ? 00:00:00 /usr/sbin/cron
*。运行“crontab -l”显示:
* / 20 * * * * / usr / bin / php /srv/www/mysite.co.uk/public_html/PP/Make_XML.php LONDON
仍然没有去。再次手动运行脚本工作正常。
答案 0 :(得分:5)
是否正在运行cron守护进程?
答案 1 :(得分:1)
它已保存到/tmp/crontab.0xYhei9m/crontab
是的 - 这是你刚刚编辑的文件 - 它不是文件crond读取来解雇工作。然后Crontab会读取此文件,在crond查找它的位置安装更新的crontab,并通知crond它需要处理该文件。
你检查过:
答案 2 :(得分:0)
如果已经在线,请尝试使用wget而不是php,使用url而不是路径,即:。
* / 20 * * * * wget http://YOUR_IP/~YOUR_USER/PATH/Make_XML.php
或
* / 20 * * * * wget http://mysite.co.uk/PP/Make_XML.php
首先确保网址有效,只需使用浏览器
打开即可希望它有所帮助!
答案 3 :(得分:-1)
Crontab对PATH
变量一无所知。所以使用你的php的绝对路径(例如/ usr / bin / php)/你可以运行命令which php
来找到你的php路径