我想在双数日和奇数日运行不同的备份脚本。因此我像这样设置了 cron:
0 4 */2 * * /bin/bash /root/backup-even-days.sh
0 4 1-31/2 * * /bin/bash /root/backup-odd-days.sh
但是这两个脚本每天都会运行。为什么呢?
答案1
每个脚本的 cron 语句都在同一天执行 -*/2
计算结果为1-31/2
。
看看我的在这里回答更多细节。
为了获得交替的日子,您可以使用2-31/2
第一个脚本 - 这将从 2、4、6 等开始2
并每隔一天跳过一次。
答案2
@Artur,谢谢,对我来说,奇数/偶数小时和不同分钟都可以使用:
Ubuntu 22.04.1 LTS(jammy、无头“服务器”安装)
$ crontab -e
(...)
1,11,22,33,44,55 0-23/2 * * * /home/me/test1.sh >> /home/me/test.log
6,17,28,39,50 1-23/2 * * * /home/me/test1.sh >> /home/me/test.log
# must have comment or blank last line
例如,在 08:55 运行一次,然后在 09:06 运行下一次(我的目标是每 11 分钟运行一次 - 也就是 2 小时内运行 11 次)
<starting>{-<range-end>}/<every-nth>
分钟数为 0/11 有效,但结果不同(“每 n 个” = 模数,检查提醒零?),因此将从 0、11、22、33、44、55 分钟开始,然后从下一小时的 0 分钟再次开始
(请原谅回答- 但仍然不能评论- 恕我直言:“很不错”的功能 ;-/ )