Linux crontab 配置完成后,无法执行任务问题
我配置的是www 用户的crontab
] # crontab -u www -e
* * * * * php /xxx/wwwroot/xxx/artisan schedule:run >> /dev/null 2>&1
* * * * * * echo `date` >> $HOME/1.txt
发现第二条命令正常 ,第一条命令没有反应,
查看了日志 sudo tail /var/log/cronJan 16 17:02:01 VM_0_16_centos CROND[29013]: (www) MAIL (mailed 32 bytes of output but got status 0x007f#012)
大概是邮件发送错误,实在不懂什么意思,
最后想到把命令结果写入到一个测试文件,进而分析报错信息。
php /xxx/wwwroot/xxx/artisan schedule:run >> $HOME/1.txt 2>&1
查看执行结果 /home/www/1.txt
/bin/sh: php: command not found
/bin/sh: php: command not found
/bin/sh: php: command not found
纳尼, 找不到php命令,难道crontab 是root 用户执行,
查看PHP安装目录 which php ,添加快捷方式
sudo ln -s /usr/local/php/bin/php /usr/bin/php
搞定end
本作品采用《CC 协议》,转载必须注明作者和本文链接