运行 python 使用 cron 作业的脚本
Running python script using a cron job
好的,所以我尝试使用 cron 每 3 小时 运行 一个 python 脚本,但我认为它不起作用。我知道这是因为我的脚本应该生成一些 csv 文件,但我无法在任何地方或日志中找到它们,而且我的脚本也在从另一个文件中读取(我认为这是问题的一部分):
with open('json_file.json') as f:
...
因此,如果我尝试 运行 来自不同目录的脚本
> python ~/my_working_dir/my_script.py
我得到一个 FileNotFoundError
FileNotFoundError: [Errno 2] No such file or directory: 'json_file.json'
我的工作是这样的:
SHELL=/usr/bin/zsh
0 */3 * * * python ~/my_working_dir/my_script.py > ~/my_working_dir/cronlogs/cron.log
我对 crontab 没有什么经验,所以我不确定问题的根源,但我的第一个猜测是我需要在某处添加一些路径
希望有人能帮忙
我认为如果您为 open() 提供该文件的完整路径会更好。
我也会指定 python 的完整路径。
1 */12 * * * /usr/bin/python3 /root/telesend.py >> /root/cron.log 2>&1
这是我的示例,运行良好
查看 link 以获得正确的时间表表达式
好的,所以我尝试使用 cron 每 3 小时 运行 一个 python 脚本,但我认为它不起作用。我知道这是因为我的脚本应该生成一些 csv 文件,但我无法在任何地方或日志中找到它们,而且我的脚本也在从另一个文件中读取(我认为这是问题的一部分):
with open('json_file.json') as f:
...
因此,如果我尝试 运行 来自不同目录的脚本
> python ~/my_working_dir/my_script.py
我得到一个 FileNotFoundError
FileNotFoundError: [Errno 2] No such file or directory: 'json_file.json'
我的工作是这样的:
SHELL=/usr/bin/zsh
0 */3 * * * python ~/my_working_dir/my_script.py > ~/my_working_dir/cronlogs/cron.log
我对 crontab 没有什么经验,所以我不确定问题的根源,但我的第一个猜测是我需要在某处添加一些路径
希望有人能帮忙
我认为如果您为 open() 提供该文件的完整路径会更好。 我也会指定 python 的完整路径。
1 */12 * * * /usr/bin/python3 /root/telesend.py >> /root/cron.log 2>&1
这是我的示例,运行良好 查看 link 以获得正确的时间表表达式