2014-12-06 42 views
-1

问题是,当我通常从终端执行Python脚本时它工作正常,但是当从cron执行相同的文件时,服务器上没有更新结束。Python脚本没有从crontab发送数据库日志到服务器

文件权限已设置为755.之前出现错误“未安装MTA,放弃输出”;解决我在我的cron工作结束时使用>/dev/null 2>&1。之后,我得到了没有错误,但问题仍然是一样的。另外我已经提到了我的python脚本之上的环境。 配置cron如下:

* * * * * sudo python3 /home/pi/json_working/json_to_server_update.py >/dev/null 2>&1 
+0

在从cron创建日志文件时,我发现“os.path.isfile(filename)”与其在终端上的工作方式不同。虽然该文件存在,但在cron“os.path.isfile(filename)”中运行的脚本由于未将文件同步到服务器而返回false。如何克服这一点? – 2014-12-06 09:22:54

+0

您使用的是用户crontab还是系统crontab?如果您使用的是系统crontab,那么当它运行Python脚本时,它可能会针对'PATH'环境变量使用不同的值。另外,如果您可以发布您的Python脚本(至少足以尝试重现您的问题),那就太好了。 – Jubbles 2014-12-06 21:13:50

回答

1

现在问题就解决了。我正在使用用户crontab,我通过使用os.path.isfile(“os.path.join(”path“,”file name“))而不是os.path.isfile(”path of file“)来解决问题。后者实际上是一个路径而不是文件,所以输出始终是错误的,并且由于这个原因没有进行同步。现在一切正常。

相关问题