运行 一个 python 脚本在每天的固定时间用 crontab
Running a python script at a fixed time everyday with crontab
首先,我已经尝试了本网站和其他网站上建议的所有方法,但仍然无法正常工作。
我的 python 脚本位于我的主文件夹中。它导入请求、时间和其他第三方模块等模块。它适用于命令行。
但它不适用于 crontab。我认为问题是当它来自 cron 的 运行 时,导入不起作用并且脚本失败。
crontab:
PATH=/sbin:/bin:/usr/sbin:/usr/bin
SHELL=/bin/bash
PYTHONPATH=/home/chanzerre:/usr/lib64/python35.zip:/usr/lib64/python3.5:/usr/lib64/python3.5/plat-linux:/usr/lib64/python3.5/lib-dynload:/usr/lib64/python3.5/site-packages:/usr/lib/python3.5/site-packages
* * * * * /home/chanzerre/script.py
我的 Python 脚本的结构:
#! /usr/bin/python3.5
import requests as req
import time
from pprint import pprint
# third party imports here
#code here
有人能帮忙吗?
如果需要,会提供更多详细信息。
P.S。
请不要将其标记为欺骗,因为我已经尝试了其他人提出的类似问题中建议的所有方法,为了我一生的热爱,它仍然不起作用。
您是否尝试过将 script.py
设为可执行文件?只需键入 Python 文件的路径不会 运行 脚本。您需要在文件中添加一个 shebang:
#!/usr/bin/python
然后使其可执行:
$ mv /home/chanzerre/script.py /home/chanzerre/script
$ chmod +x /home/chanzerre/script
那么你的 crontab 就变成了
* * * * * /home/chanzerre/script
试试看它是否运行你的文件。
为了运行,您是否设置了脚本所需的所有环境变量?如果没有,它不会 work.For 例如,如果您 运行 在代理服务器后面运行该脚本,并且未设置代理变量,它将无法工作。
在 crontab 或 python 脚本本身中设置代理变量,它将起作用。
首先,我已经尝试了本网站和其他网站上建议的所有方法,但仍然无法正常工作。 我的 python 脚本位于我的主文件夹中。它导入请求、时间和其他第三方模块等模块。它适用于命令行。 但它不适用于 crontab。我认为问题是当它来自 cron 的 运行 时,导入不起作用并且脚本失败。 crontab:
PATH=/sbin:/bin:/usr/sbin:/usr/bin
SHELL=/bin/bash
PYTHONPATH=/home/chanzerre:/usr/lib64/python35.zip:/usr/lib64/python3.5:/usr/lib64/python3.5/plat-linux:/usr/lib64/python3.5/lib-dynload:/usr/lib64/python3.5/site-packages:/usr/lib/python3.5/site-packages
* * * * * /home/chanzerre/script.py
我的 Python 脚本的结构:
#! /usr/bin/python3.5
import requests as req
import time
from pprint import pprint
# third party imports here
#code here
有人能帮忙吗? 如果需要,会提供更多详细信息。
P.S。 请不要将其标记为欺骗,因为我已经尝试了其他人提出的类似问题中建议的所有方法,为了我一生的热爱,它仍然不起作用。
您是否尝试过将 script.py
设为可执行文件?只需键入 Python 文件的路径不会 运行 脚本。您需要在文件中添加一个 shebang:
#!/usr/bin/python
然后使其可执行:
$ mv /home/chanzerre/script.py /home/chanzerre/script
$ chmod +x /home/chanzerre/script
那么你的 crontab 就变成了
* * * * * /home/chanzerre/script
试试看它是否运行你的文件。
为了运行,您是否设置了脚本所需的所有环境变量?如果没有,它不会 work.For 例如,如果您 运行 在代理服务器后面运行该脚本,并且未设置代理变量,它将无法工作。 在 crontab 或 python 脚本本身中设置代理变量,它将起作用。