Crontab 每周跳过 运行 一次
Crontab skip run once a week
我有一个 CRON 表达式,从 00:00 开始,每 8 小时 运行 一个给定的命令。
0 0,8,16 * * *
这将 运行 每周给予 21 次推荐,但是,我的目标是每周跳过这 21 运行 中的一个 .什么是 跳过 每周日第一个 运行 00:00 的正确 CRON 表达式(换句话说,一个将 运行 20每周几次)?
设为 2 行:
0 0,8,16 * * 0-5
从周日到周五,每周的第 0 点、8 点和 16 点后的第 0 分钟。
和
0 8,16 * * 6
星期六 8 点和 16 点后第 0 分钟。
您可以更改要跳过的日期和时间,但据我所知,没有办法在 1 行中执行此操作。
将此:[[ ( $( date +\%u ) -ne 0 ) && ( $( date +\%H:\%M) != "00:00" ) ]] &&
放在您的命令之前。
如果您不想将 bash
用于您的 cron-job,这适用于 sh
:
[ $( date +\%u ) -ne 0 ] && [ $( date +\%H:\%M) != "00:00" ] &&
我有一个 CRON 表达式,从 00:00 开始,每 8 小时 运行 一个给定的命令。
0 0,8,16 * * *
这将 运行 每周给予 21 次推荐,但是,我的目标是每周跳过这 21 运行 中的一个 .什么是 跳过 每周日第一个 运行 00:00 的正确 CRON 表达式(换句话说,一个将 运行 20每周几次)?
设为 2 行:
0 0,8,16 * * 0-5
从周日到周五,每周的第 0 点、8 点和 16 点后的第 0 分钟。
和
0 8,16 * * 6
星期六 8 点和 16 点后第 0 分钟。
您可以更改要跳过的日期和时间,但据我所知,没有办法在 1 行中执行此操作。
将此:[[ ( $( date +\%u ) -ne 0 ) && ( $( date +\%H:\%M) != "00:00" ) ]] &&
放在您的命令之前。
如果您不想将 bash
用于您的 cron-job,这适用于 sh
:
[ $( date +\%u ) -ne 0 ] && [ $( date +\%H:\%M) != "00:00" ] &&