Cronjob php 脚本不工作

发布于 2024-10-28 18:12:42 字数 672 浏览 5 评论 0原文

我正在尝试设置一个 cronjob 每 20 分钟运行一次。 这可以手动进行:

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 已启动并运行:

<前><代码>根 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 伦敦

但仍然没有去。再次手动运行脚本效果很好。

I'm trying to set a cronjob to run every 20 minutes.
This works manually:

php /srv/www/mysite.co.uk/public_html/PP/Make_XML.php LONDON

I tried to use "crontab -e" and set it even to every 20 minutes with:

 */20 * * * * php /srv/www/mysite.co.uk/public_html/PP/Make_XML.php LONDON

it was saved to /tmp/crontab.0xYhei9m/crontab

And it doesn't seem to work.
What's wrong here?

EDIT:

Current stats:

*. cron is up and running:

root     31855     1  0 08:39 ?        00:00:00 /usr/sbin/cron

*. Running "crontab -l" shows:

*/20 * * * * /usr/bin/php /srv/www/mysite.co.uk/public_html/PP/Make_XML.php
LONDON

And still no go. Again manually running the script works just fine.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

任性一次 2024-11-04 18:12:43

它被保存到/tmp/crontab.0xYhei9m/crontab

是的 - 这是您刚刚编辑的文件 - 它不是 crond 读取以触发作业的文件。然后,Crontab 会读取此文件,将更新后的 crontab 安装在 crond 查找它的位置,并通知 crond 它需要处理该文件。

您检查过:

  1. crond 正在运行吗?
  2. 您的 uid 被允许安排 cron 作业(通常通过 /etc/cron.allow / /etc/cron.deny),
  3. 但该脚本确实没有由 cron 启动并且由于权限错误而失败?
  4. 您使用的 crond 版本支持 $PATH 并且可以找到可执行文件吗?

it was saved to /tmp/crontab.0xYhei9m/crontab

Yes - that's the file you just edited - its NOT the file crond reads to fire jobs. Crontab whould then read this file, install the updated crontab in the location where crond looks for it and notify crond it needs to process the file.

Have you checked:

  1. crond is running?
  2. your uid is allowed to schedule cron jobs (usually via /etc/cron.allow / /etc/cron.deny)
  3. that the script really isn't being started by cron and failing due to a permissions error?
  4. that the version of crond you are using support $PATH and can find the executable?
内心激荡 2024-11-04 18:12:43

如果已经在线,请尝试使用 wget 而不是 php,使用 url 而不是路径,即:

*/20 * * * * wget http://YOUR_IP/~YOUR_USER/PATH/Make_XML.php

*/20 * * * * wget http://mysite.co.uk/PP/Make_XML.php

首先确保网址有效,只需用浏览器打开它

希望它有帮助!

In case this is already online, try using wget instead of php, with the url instead of the path, ie.:

*/20 * * * * wget http://YOUR_IP/~YOUR_USER/PATH/Make_XML.php

or

*/20 * * * * wget http://mysite.co.uk/PP/Make_XML.php

First make sure the url works , just by opening it with a browser

Hope it helps!

新一帅帅 2024-11-04 18:12:43

Crontab 对 PATH 变量一无所知。因此,请使用 php 的绝对路径(例如 /usr/bin/php)/ 您可以运行命令 which php 来查找您的 php 路径

Crontab doesn't know anything about PATH variable. So use absolute path to your php (/usr/bin/php for e.g.)/ You can run command which php to find your php path

情话墙 2024-11-04 18:12:42

cron 守护进程还在运行吗?

is the cron daemon even running?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文