crontab www用户定时任务不执行
通过命令
crontab -u www -e创建的定时任务就是不执行五个星 cd /data/wwwroot/laravel && php artisan schedule:run >> /dev/null 2>&1单独执行
cd /data/wwwroot/laravel && php artisan schedule:run >> /dev/null 2>&1是能够执行的,执行逻辑是没问题的
查看
cron日志/var/log/cron没发现异常Oct 8 11:26:01 VM-25-18-centos CROND[8472]: (www) CMD (cd /data/wwwroot/laravel && php artisan schedule:run >> /dev/null 2>&1)看到网上说的更改
/usr/bin/crontab权限,权限充足不需要更改-rwsr-xr-x 1 root root 57664 Nov 20 2018 crontab后来
crontab -u www -e添加一个测试任务* * * * * echo "11" >> /data/wwwlogs/cron.txt
执行了,为啥laravel的任务不执行呢..
解决了
加上 php 的完整路径好了,/usr/local/php/bin/php,什么原因还是懵逼,php明明是可以命令行执行的。
* * * * * cd /data/wwwroot/laravel && /usr/local/php/bin/php artisan schedule:run >> /dev/null 2>&1

关于 LearnKu
本身运行
php能执行是当前登录这个用户的环境执行,会自动查找PATH路径,而crontab,你使用的是www用户并没有相关环境变量,如果你为www创建了home目录并且设置了相关环境变量也是,www用户应该就可以直接执行php命令了,相关创建用户并设置默认的shell的初始配置文件路径在/etc/skel中,可以查看下。