【发布时间】:2015-09-18 21:21:43
【问题描述】:
我尝试使用多种变体,但由于我转移到另一个主机,因此未能正确运行 CRON 作业。
在我刚刚调用如下图所示的 http 链接之前:
文件名/cron/synchronize.php 包含以下代码:
<?php shell_exec('php /var/www/domain.com/artisan domaincom:cron argument1 argument2 --option1');?>
我找不到真正的crontab文件存储在哪里,所以我可以复制真正的代码......
现在,一旦我在新主机上,通过终端我移动到/var/spool/cron,然后我在命令行中输入crontab -e 我放置了我的代码:
SHELL=/bin/bash
HOME=/
0 8,12,14,16,19,23 * * * php /var/www/domain.com/cron/synchronize.php
那个代码不起作用,谁能告诉我我做错了什么?
【问题讨论】:
-
使用 php 执行 shell 命令执行第二个 php 脚本似乎是多余的。为什么不在 crontab 中直接使用
php /var/www/domain.com/artisan domaincom:cron argument1 argument2 --option1? -
我也试过了,但似乎也不起作用,我不知道 crontab 将该文件存储在哪里,或者我应该将它保存在哪里。也许我应该存储它并调用它或以某种方式运行它?谢谢你的回复
-
如果您的 cron 作业失败或生成任何输出,您应该会收到电子邮件。您是否将 SHELL 和 HOME 行放在 crontab 中?我以前从未见过。
-
我要测试的一件事是设置一个 cronjob echo "test cron" >>SomeFile 来测试它是否正在运行。
-
这是 Jason 上面的一个很好的建议。所以你可以对 cron 进行迷你测试……也许你可以让它每分钟运行一次,然后用“cat”、“tail”或其他 Linux 命令检查文件,看看它是否正常工作。
标签: php laravel cron ubuntu-14.04