我正在运行 CentOS 5 服务器,并尝试安排一项每天同一时间运行 php 文件的作业,我已将新文件添加到目录中
/etc/cron.d/
称为get_files
该get_files
文件包含以下内容:
03 6 * * * php /var/www/html/get-info.php
但是,上述任务似乎没有运行。我做错了什么?
答案1
您应该使用 php 的完整路径,并使用 -f 开关
03 6 * * * /path/to/php -f /var/www/html/get-info.php
答案2
中的 cron 作业/etc/cron.d/
(以及/etc/contab
)有六命令前面的部分,而不是五个。前五个正如您所期望的那样,是计划。第六个是命令应以哪个用户身份运行。
Cron 文件通常明确设置变量,例如SHELL
和PATH
,从而避免要求 Cron 文件其余部分的所有内容的完整路径。
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
03 6 * * * root php /var/www/html/get-info.php
您原来的 cron 作业将会记录一个错误,说它/var/log/cron
找不到用户“php”。