这是我的crontab。
SHELL=/bin/bash
PATH=/home1/<user>/.pyenv/shims:/home1/<user>/.pyenv/bin:/usr/lib64/qt-3.3/bin:/usr/nhnkrb5/bin:/usr/bin:/bin:/usr/X11R6/bin:/home1/<user>/.local/bin:/home1/<user>/bin
HOME=/home1/<user>
# Do something
0 1 * * * /home1/<user>/.pyenv/shims/python /home1/<user>/folder/myscript.py >> /home1/<user>/folder/$(date "+%Y.%m.%d-%H.%M.%S").log 2>&1
无论我从哪里执行,它都可以在终端上完美运行。我已经尝试过此页面上的所有答案,但我的cron不会返回任何错误。
https://askubuntu.com/questions/23009/why-crontab-scripts-are-not-working
我还检查了我的$PATH
的cron是否与bash中的cron相同。使用* * * * * env > /tmp/env.txt
请告诉我我在做什么错
答案 0 :(得分:0)
最好将第1行的python标头添加到您的主脚本中。例如,如果您的主脚本文件是app.py
,则其内容可以如下:
!#/home1/<user>/.pyenv/shims/python
# Here goes your Python Script.
然后
$ chmod +x app.py
现在您可以添加
# Do something
0 1 * * * /home1/<user>/folder/myscript.py >> /home1/<user>/folder/$(date "+%Y.%m.%d-%H.%M.%S").log 2>&1
我遇到了同样的问题,当我手动运行但不能与crontab
一起使用时,脚本可以工作。此方法有效。