直接执行成功,crontab执行脚本不成功问题解决
by ET posted on 2019年6月28日 19:09 under 技术分享
标签: 运维
用python写了一个脚本来启动php的一个任务,放crontab里每五分钟运行一次,php任务里面执行了java的命令。
exec('java -jar /xxx/xxx/xxx.jar >/dev/null 2>&1');
crontab执行的时候 java进程没法启动,直接在shell执行python 脚本则可以启动。
检查发现crontab执行脚本时候不会引入环境变量,遂解决问题:
1 所有路径全部都用绝对路径
2 脚本执行的命令前面添加 source /etc/profile && 手动引环境变量
exec('source /etc/profile && java -jar /xxx/xxx/xxx.jar >/dev/null 2>&1');