Cron运行脚本,但是代码不执行

时间:2019-04-05 18:55:51

标签: php linux cron

我有一个像这样的cronjob:

30-59/1 13 * * 1-5 /usr/bin/php /home/myproject/main/logic.php 2>&1 >>/home/myproject/main/cronlog.txt

我可以从命令行正常运行脚本。

我可以看到它正在syslog中运行。

grep CRON /var/log/syslog

Apr  5 18:51:01 ip-x-x-x-x CRON[30277]: (ubuntu) CMD (/usr/bin/php /home/myproject/main/logic.php 2>&1 /home/myproject/main/cronlog.txt)

权限:

-rwxrwxr-x 1 root root 4791 Apr  5 18:31 logic.php

在我的php文件中:

require '/home/myproject/main/data.php';
require '/home/myproject/vendor/autoload.php';

但是我脚本中的代码并未真正执行。

有什么想法我在这里做错了吗?

1 个答案:

答案 0 :(得分:2)

您将stderr发送到stdout,但没有在任何地方发送stdout。需要在文件前加上>。

30-59/1 13 * * 1-5 /usr/bin/php /home/myproject/main/logic.php 2>&1 >/home/myproject/main/cronlog.txt