我想制作crontab,其中脚本在每小时的不同时间发生,就像这样
35 1,8,12,15,31 16,18,21 * * 0,1,2,3,4,5,6 python backup.py
我希望脚本能够在16hour and 31 minutes
运行,但它会给我错误的错误时间
我希望cron出现在
1:35am
,然后是16:31
,然后是21:45
答案 0 :(得分:5)
由于没有可以匹配三次的模式,因此无法仅使用一个crontab表达式来安排。你将不得不使用三个:
45 21 * * * python backup.py
31 16 * * * python backup.py
35 1 * * * python backup.py
另请注意,python backup.py
可能无效。您必须为文件和二进制文件定义完整路径:
35 1 * * * /usr/bin/python /your/dir/backup.py
使用/usr/bin/python
可以获得which python
或类似内容。
答案 1 :(得分:0)
如果您所在的系统具有systemd,则可以查看systemd计时器(https://www.freedesktop.org/software/systemd/man/systemd.time.html)。然后,您可以使用RandomizedDelaySec设置和OnCalendar设置来实现随机性,该设置可以安排服务在您设置的每小时或间隔运行一次,并且每次运行都会生成RandomizedDelaySec,因此间隔是随机的。