我在/etc/cron.d/mycron中有一个cronjob,如下所示:
0 3 * * * apache php /path/to/my/script.php
在同一个文件中,还有其他的cronjob以root用户和其他用户(工作)开始运行,但是由于某种原因,这个作为apache运行的作业没有运行,并且不报告/var/log/messages任何内容或者向cron文件中的MAILTO地址。 当我su apache并运行cronjob的命令,它工作正常,但cron不喜欢它。
这对我来说是一个长期的问题,到目前为止我已经收集到了以下几种可能性:
/etc/security/access.conf设置使用crond来阻塞apache,尽pipe/etc/security/access.conf被完全注释掉了。 这个问题的任何想法或经验,以及解决scheme可能是什么?
谢谢
/usr/bin/php grep apache /etc/passwd据我所知,用户应该总是有主目录。 它可能不在/ home中。 必须为用户设置主目录。 如果用户没有,你可以直接在cron.d文件中指定它。
您可能需要提供PATH = / usr / bin /,或者指定命令的完整path。
HOME=/tmp 0 3 * * * apache /usr/bin/php /path/to/my/script.php
默认情况下, cron运行的PATH非常有限; 你需要把完整的path到php二进制文件?