Laravel 定时任务日志权限问题
问题描述
crontab默认由
root
用户执行,当通过定时任务crontab生成的laravel日志文件后,由于文件的所有者属于root
,会造成业务(本系统所有者为www
)写不进日志导致不可用。
解决方案
采用
指定用户身份
来创建定时任务
纯Linux
crontab -u www -e
注:把原来通过由root用户创建的定时任务crontab -e里的任务删除。
如果是在宝塔里面
创建任务 内容
su -c "/usr/bin/php /www/wwwroot/kankanzhanhui/artisan schedule:run >> /dev/null 2>&1" -s /bin/sh www
注:-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
本作品采用《CC 协议》,转载必须注明作者和本文链接