我有一个bash脚本来自动完成我所做的一些事情。 bash调用2个python脚本,如果我正常运行bash脚本,一切都运行,没有错误。我设置了一个自动执行此操作的cron作业,当我检查日志时,我注意到python脚本根本不运行。它给了我以下错误。
python: can't open file 'movefiles.py': [Errno 2] No such file or directory
python: can't open file 'create_log_shimmer.py': [Errno 2] No such file or directory
直接调用bash脚本时,这两个文件都存在并运行。
答案 0 :(得分:4)
cron的工作目录与您直接运行脚本的目录不同。
让你的bash脚本使用python脚本文件的绝对路径。
或者让bash脚本将目录更改为直接运行脚本的位置。
答案 1 :(得分:0)
问题: 1)Crontab默认路径在其他地方
2)在python .py文件中,你还没有在代码中提到完整的文件名[如果你使用的话]
** 3)运行**
时指定cron文件中的完整路径以下显示最好创造CRON(对我来说不是最好的但是#34;
拥有cronjob的最佳方式(crontab是)
1)在该目录中创建一个文件 vi FILENAME.cron
2)在下面的文件名类型中(这将当前路径设置为cron路径)
# echo PATH=$PATH > tmp.cron
# echo >> tmp.cron
# crontab -l >> tmp.cron
# crontab tmp.cron
* * * * * python ___________.py
3)现在请记住保存它并启动cron类型 crontab FILENAME.cron。 (在你的python .py代码中,如果你正在访问任何文件或写入文件或数据库提供该地方的完整路径)
4)你可以轻松地运行cron。