为什么我的 python 子进程调用在 crontab 中不起作用?

My python subprocess call did not work in crontab why?

我现在的做法是先去掉旧模型,保存新模型,用shell没问题,但是用crontab就是自动不行。知道为什么或如何解决这个问题吗?感谢您的帮助。

错误是主程序没有等待 subprocess.call 到 return。我认为这是问题所在,但不确定。

这是我当前的命令:

subprocess.call('dse hadoop fs -rmr /root/recommend_model', shell=True)  

一个可能的解决方案只是为了检查它是否正确执行是等待 return代码。

这里是 link 到 subprocess 模块: https://docs.python.org/2/library/subprocess.html

您可以等待脚本中的 return 代码:

if (subprocess.call(command, args) == 0):
    print("We are proceeding)
else:
    print("Something went wrong executing %s" % command)

另外尝试按照建议将脚本执行重定向到日志文件 2>&1 > mickey.log

最后但并非最不重要的一些 subprocess/os.系统建议可在此处获得:

如果这能解决您的问题,请告诉我。