我有一个shell脚本,因此:
export PYTHONPATH=/usr/local/lib/python
cd /home/skip/workspace/UAM
for file in *.txt
do
echo $file >>log.fil
/usr/bin/python push.py -s $file
done
return 0
它从命令行正常运行。将每个文件名打印到日志文件并按预期运行python push.py命令。 (它创建一个目录并填充它。)
但是当我尝试使用此crontab从cron运行它时:
3 * * * * /home/skip/workspace/UAM/RunAllTest.sh
我在日志文件中看到条目,但是push.py运行不正常。 (该目录未创建或填充。)
欢迎任何帮助。
答案 0 :(得分:3)
检查push.py是否需要任何可能未在crontab上下文中设置的环境变量。如果它是用户crontab(不是root cron),那么它将被执行,就像同一个用户执行该行一样,但不一定要进入相同的环境(如初始化文件中的别名和路径集)。
答案 1 :(得分:1)
知道了。感谢licorna的亲切帮助。
发生的事情是我的“push.py”脚本在没有指定完全限定路径的情况下调用另一个程序(pybot aka robot framework)。
我将其从“pybot”更改为/ usr / local / bin / pybot“并且一切正常。