我想通过 cron 作业执行一些 php 脚本,我已经安装了 curl、crontab,但是 cron 作业没有运行/创建任何日志文件。
crontab -l
* * * * * curl http://www.mydomain.com/index.php?r=myController/myFuncction >> /var/www/cronJobLogs/myCtrLog.txt 2>&1
我在终端上手动执行了此行,并创建了日志文件
curl http://www.mydomain.com/index.php?r=myController/myFuncction >> /var/www/cronJobLogs/myCtrLog.txt 2>&1
更新
理论上来说我的 cron 应该每分钟运行一次。
root@vs3946:/var/www/cronJobLogs# whereis curl
curl: /usr/bin/curl /usr/share/man/man1/curl.1.gz
root@vs3946:/var/www/cronJobLogs# crontab -l
# m h dom mon dow command
* * * * * /usr/bin/curl http://www.mydomain.com/index.php?r=myController/myFuncction >> /var/www/cronJobLogs/myCtrLog.txt 2>&1
*/1 * * * * /usr/bin/curl http://www.mydomain.com/index.php?r=myController/myFuncction >> /var/www/cronJobLogs/myCtrLog.txt 2>&1
答案1
在您的 crontab 中指定完整路径curl
- 您的 shell 知道在哪里找到它,因为有一个$PATH
可用的环境变量,但是在 cron 环境中没有这样的怪物。