我想制作 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
由于没有一种模式可以匹配这三个时间,因此无法仅使用一个 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
where/usr/bin/python
或类似的可以用which python
.
如果您所在的系统有 systemd,您可以查看 systemd 计时器(https://www.freedesktop.org/software/systemd/man/systemd.time.html)。然后,您可以使用 RandomizedDelaySec 设置和 OnCalendar 设置来实现随机性,该设置将安排服务每小时运行一次或您设置的间隔加上将在每次运行时生成一个 RandomizedDelaySec,以便间隔是随机的。