我有一个PHP文件,它应该每天发送一封由crontab安排的电子邮件。这是我的crontab:
45 23 * * * php /var/www/html/linus/class/runnable/dailyStaffReport.php我注意到它不起作用,也就是说,电子邮件没有发送。因此,我尝试了以下几点:
00 11 * * * php /var/www/html/linus/class/runnable/dailyStaffReport.php
>> /var/log/crontab.linus.log 2>&1注意:这里的时间表并不重要,我经常为了测试的目的而改变它
那不起作用。未创建文件crontab.linus.log。
在检查/var/log/cron文件时,我注意到我的cron被执行了
Feb 25 11:22:01 shoutcast01 CROND[3395]: (apache) CMD (php
/var/www/html/linus/class/runnable/dailyStaffReport.php
>> /var/log/crontab.linus.log 2>&1)最后,如果我手动执行php /var/www/html/linus/class/runnable/dailyStaffReport.php,我会立即在收件箱中收到电子邮件。我甚至在PHP中写了一些echoes,希望能试着看看沿途的某个地方脚本是否失败。
[root@shoutcast01 ~]# php /var/www/html/linus/class/runnable/dailyStaffReport.php
LOADING STAFF USERS...
COMPUTING STAFF WORK TIME...
BUILDING CHART...
SAVING CHART...
WRITING DOWN THE CHART...
SENDING THE EMAIL...
1
DONE.在一个模拟的事情上,我有另一个文件,计划每2分钟发送一次电子邮件,它工作得很好。
[root@shoutcast01 ~]# crontab -u apache -l
22 11 * * * php /var/www/html/linus/class/runnable/dailyStaffReport.php
>> /var/log/crontab.linus.log 2>&1
*/2 * * * * php /var/www/html/linus/class/runnable/dispatchEmail.php 的总结
>> /var/log/crontab.linus.log 2>&1记录任何东西关于我能做些什么来解决这个问题,有什么建议吗?
发布于 2016-02-25 16:38:55
调试不起作用的问题是,我试图将调试信息存储到/var/log/crontab.linus.log中,并且该文件不存在,并且用户apache没有创建它的权限。
意识到这一点之后,我自己创建了这个文件。
touch crontab.linus.log
chown apache crontab.linus.log
chgrp apache crontab.linus.log
chmod 0777 crontab.linus.log然后我又重新安排了任务,等待它被执行。原来的问题也是关于许可的。
PHP致命错误:默认异常“ImagickException”,消息“无法写入文件...”
因此,我在文件夹中设置了chmod 0777,以便PHP脚本保存它的图像。之后,apache用户执行的计划被成功执行,并发送了电子邮件。
https://unix.stackexchange.com/questions/265750
复制相似问题