我希望 crontab 每天执行三个单独的作业,每个作业对应一个 python 脚本。第一个作业需要几分钟才能执行,因为它会按顺序打开一个 URL 列表,提取 html 内容并保存其中包含的一些信息。因此,我在 crontab 中将这三个作业安排在不同的时间。
下面是我的 crontab
@daily ID=afstoken kinit --renew
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MAILTO=""
0 18 * * 1-5 /usr/bin/python /home/andrea/Documents/script1.py;
10 18 * * 1-5 /usr/bin/python /home/andrea/Documents/script2.py;
12 18 * * 1-5 /usr/bin/python /home/andrea/Documents/script3.py;
其中,只有第一个被执行。如您所见,我尝试在指令之间插入一个空行,并;
在每个指令末尾添加,但第二和第三个作业仍然没有执行。这三个 Python 脚本都是可执行的。
有人知道为什么会发生这种情况吗?
可能是因为环境变量SHELL
和PATH
仅MAILTO
在第一个作业中设置?但我不明白为什么,因为我认为将它们设置在 crontab 的顶部会为所有作业设置它们。
如果能就如何解决这个问题提供一些建议,我将不胜感激,因为我想在列表中添加第四份工作。此外,如果我认为还有改进的空间,我会非常乐意学习。
谢谢