【发布时间】:2019-02-12 19:44:35
【问题描述】:
我正在尝试在运行 Ubuntu 18 的 VM 上运行一个简单的 Python 脚本,该 VM 托管在我的 Synology 上。 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) 你的 Python 代码的索引被破坏了。 2) 它是
#!,而不是!#。 3) Python 真的 安装在哪里?which python3告诉你什么? -
CronJob not running的可能重复
-
也可以试试命令:py、py3、python3等
-
@LutzHorn 1,2) 我的抄袭技巧很差。在问题中修复它。 3) /home/anaconda3/bin/python3.我相应地更改了 cronjob 中的代码,但没有任何区别。
-
手动运行可能是权限问题?或者如果您将 cron 更改为
/home/anaconda3/bin/python3.7 /home/Documents/crontest.py 2>&1 | tee crontest.log