0%

避免 Laravel 日志权限问题:正确设置 Crontab 用户身份

使用 crontab -e 编辑时,编辑的都是当前用户的定时任务文件。
里面的任务都会用当前用户身份执行。

Laravel 任务中若创建日志文件,文件也会归 root 所有,但 Web 程序通常以 www 用户运行,无法写入这些日志,导致报错。

正确使用方式:

一种方式是 sudo crontab -u www -e,来编辑www用户的crontab。

另一种方式是 root 的 crontab 任务里通过 sudo -u ,指定用 www 用户身份执行。

1
* * * * * sudo -u www /www/server/php/74/bin/php /www/wwwroot/yourwebsite/artisan schedule:run >> /dev/null 2>&1

欢迎关注我的其它发布渠道