2017-03-16 82 views
0

crontab的问题,我有一个命令行完美运行的脚本:用python脚本

/home/anaconda2/bin/python /project_folder/script.py 

我加了下面的一些细节:

$ echo $PYTHONPATH 
:/project_folder/ 

$ which python 
/home/anaconda2/bin/python 

哪个完美运行脚本,完美无缺。

然后从crontab中(对于没有本地导入问题的其他脚本已成功),我无法运行该脚本。

的代码crontab的不工作:

PYTHONPATH=/project_folder 
* * * * * /home/anaconda2/bin/python /project_folder/script.py 

什么也没有发生。这让我非常痛苦,大部分时间都在努力想办法解决这个问题 - 非常感谢任何帮助。

+1

确保您的脚本需要的任何环境变量都已定义。 Cron不会运行交互式登录运行的所有相同的启动脚本。 – GreenMatt

+0

这里有一些有用的提示,用于静默失败的cron:http://unix.stackexchange.com/questions/207/where-are-cron-errors-logged –

+0

我会如何去弄清楚@GreenMatt(谢谢btw ) – SteelyDanish

回答

0

我通过创建一个包装shell脚本来解决它。丑,因为我每次都会输出python路径,但它很有效。

#!/bin/bash 
export PYTHONPATH="${PYTHONPATH}:/project_folder" 
source ~/.bash_profile 
cd /project_folder && /my/anaconda/location/bin/python /project_folder/cript.py