crontab默认由root用户执行,当通过定时任务crontab生成的laravel日志文件后,由于文件的所有者属于root,会造成业务(本系统所有者为apache)写不进日志导致不可用。
解决方法:
采用指定用户身份来创建定时任务
crontab -u apache -e
创建完后,记得把原来通过由root用户创建的定时任务crontab -e里的任务删除。
可能出现的问题
通过使用指定用户创建了定时任务后,发现无法执行,查看crontab的日志,位置“/var/log/cron”
发现如下错误日志
izwz9etlde5tdo9nbgmcltz CROND[5718]: (apache) CMD (php /path/to/system/artisan schedule:run >> /dev/null 2>&1) izwz9etlde5tdo9nbgmcltz CROND[5718]: (CRON) ERROR chdir failed (/usr/share/httpd): No such file or directory
于是创建/usr/share/httpd/目录即可
本帖已被设为精华帖!