从Ubuntu cronjob运行Python脚本

时间:2019-02-12 11:20:42

标签: python ubuntu cron

我试图在运行在Synology上运行Ubuntu 18的VM上运行简单的python脚本。 python脚本仅在文件中打印日期和时间,因此我可以检查其是否运行。看起来像这样:

from datetime import datetime
with open('file.txt','a') as file:
    file.write('Recorded at: %s\n' % datetime.now())

我做了一个像这样的cronjob:

* * * * * /home/anaconda3/bin/python3.7 /home/Documents/crontest.py

我尝试了许多变化。例如,不编写3.7,而只是编写“ python”。我尝试了默认的python路径/usr/bin/python3.7。

此外,我尝试将shebang#!/ home / anaconda / bin / python3.7广告添加到脚本中,并在cronjob中省略了路径。

感觉像我在这里缺少基本内容。我尝试了Stack和其他论坛上发布的许多选项,但这些选项似乎都无法解决我的问题。

1 个答案:

答案 0 :(得分:1)

在运行cronjobs时,不允许在python脚本中使用相对链接。所以当我这样写的时候它就起作用了:

from datetime import datetime
with open('/home/Documents/file.txt','a') as file:
    file.write('Recorded at: %s\n' % datetime.now())

此外,我使用了错误的python路径。我写了/python3.6而不是通过输入

找到的/ python3。
which python3

在终端中。