2017-06-14 94 views
1

我确实创建了一个Cron作业来运行bash文件,它从命令行运行正常,但是如果从Cron作业运行,它给了我错误,说“Python是不是命令”设置cron作业在bash sh文件中执行python脚本

我的bash的文件名为:Myscript.sh

#!/bin/bash 
cd /var/www/html/public_html/test_scripts 
python script1.py serverlog.log 2&>1 & 
python script2.py serverlog.log 2&>1 & 

我的cron作业设置

30 5 * * 1-5 root bash Myscript.sh 

任何人都知道我在做什么错了,来解决这个问题呢?

谢谢,

+0

与路径crontab文件中适当设置? – xunatai

+0

是的,正确的路径设置为Myscript.sh的位置 –

回答

1

你需要把完整的路径放到python。如果您不知道路径,你可以用which命令找到它:

➜ ~ which python 
/usr/bin/python 

,然后修改脚本

#!/bin/bash 
cd /var/www/html/public_html/test_scripts 
/usr/bin/python script1.py serverlog.log 2&>1 & 
/usr/bin/python script2.py serverlog.log 2&>1 & 
+0

嗨,放完整路径的Python解释器后,错误消息已经消失,但现在它抱怨一些模块没有找到从Cron运行时,但如果从命令行运行,那么一切都很好。有人知道为什么 –

+0

类似quesion在这里,请检查:https://stackoverflow.com/questions/7970905/cannot-import-python-mysql-module-when-running-a-script-using-crontab –