Wardon&ET 博客

直接执行成功,crontab执行脚本不成功问题解决

用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');

参考资料:https://blog.csdn.net/yamaru/article/details/83208392