Shell脚本从终端调用Python,但从Cron失败

我有一个shell脚本,因此:export PYTHONPATH=/usr/local/lib/pythoncd /home/skip/workspace/UAMfor file in *.txtdoecho $file log.fil/usr/bin/python push.py -s $filedonereturn 0它可以从命令行正常运行...

我有一个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无法正常运行. (未创建或填充目录.)

欢迎任何帮助.

解决方法:

检查push.py是否不需要在crontab上下文中未设置的任何环境变量.如果它是用户crontab(而不是root cron),则它将像同一用户执行该行一样执行,但不一定要在同一环境中执行(如别名和初始化文件上设置的Path).

本文标题为:Shell脚本从终端调用Python,但从Cron失败

基础教程推荐