我有一个像这样的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';
但是我脚本中的代码并未真正执行。
有什么想法我在这里做错了吗?
答案 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