脚本可以正常运行,但是在由cron运行时无法执行Dropbox上传

时间:2018-06-30 21:52:06

标签: python cron

我在树莓派上运行python脚本,该脚本在SQL数据库中进行了一些修改,编写了日志,然后将所有内容上传到保管箱。 当我使用命令行启动它时,一切正常。

更新:当我使用cron启动它时,除Dropbox上传外,其他所有东西都可以正常工作。日志中没有错误消息。该文件根本没有出现在我的保管箱中。

这是我正在使用的代码:

from subprocess import call
data = "/home/pi/scripts/Dropbox-Uploader/dropbox_uploader.sh upload /home/pi/scripts/database.db /"
call ([data], shell=True)

如何解决?

1 个答案:

答案 0 :(得分:0)

它是在交互式终端上工作的,而不是在cron上工作的几乎始终是PATH或环境问题的证据。当您使用交互式会话时,配置文件和最终的basrc文件用于设置许多环境变量,包括PATH。 cron都不使用它们。好的做法是:

  • 始终在可以从cron启动的脚本中使用绝对路径
  • 在crontab中明确设置PYTHON环境变量,或使用最小的shell首先设置它们,然后启动python