设置 cron 任务每天在奇数日和偶数日触发

设置 cron 任务每天在奇数日和偶数日触发

我想在双数日和奇数日运行不同的备份脚本。因此我像这样设置了 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 分钟再次开始


(请原谅回答- 但仍然不能评论- 恕我直言:“很不错”的功能 ;-/ )

相关内容