设置cron作业在bash sh文件中执行python脚本
我确实创建了一个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
任何人都知道我在做什么错了,来解决这个问题呢?
谢谢,
你需要把完整的路径放到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 &
嗨,放完整路径的Python解释器后,错误消息已经消失,但现在它抱怨一些模块没有找到从Cron运行时,但如果从命令行运行,那么一切都很好。有人知道为什么 –
类似quesion在这里,请检查:https://stackoverflow.com/questions/7970905/cannot-import-python-mysql-module-when-running-a-script-using-crontab –
与路径crontab文件中适当设置? – xunatai
是的,正确的路径设置为Myscript.sh的位置 –