kup*_*upa 12 linux cron scheduler
今天是 2014 年 10 月 3 日星期五凌晨 3:58
我想安排一个像这样的 cronjob 在以下日期运行它:
所以每两周一次,在星期六,在 8 点。
Cyr*_*rus 29
0 8 * * 6 test $((10#$(date +\%W)\%2)) -eq 1 && yourCommand
Run Code Online (Sandbox Code Playgroud)
date +%W: 一年中的周数,星期一作为一周的第一天,今天是第 39 周
10#$(date +%W): 转换date +W为十进制数并避免 shell base 解析混淆
$((39%2)): 模运算:结果为 0(偶数周数)或 1(奇数周数),本周结果为 1,下周为 0
test 1 -eq 1: 算术测试(相等),在这种情况下结果是布尔真
&& yourCommand: Boolean AND:yourCommand仅在上一个命令的结果为 boolean true 时运行
请注意,年份可以有两个奇数周:53(今年)和 1(明年)
你所展示的是“每周”。那么代码是:
0 8 * * 6
Run Code Online (Sandbox Code Playgroud)
您确定需要每两周运行一次吗?
0 8 * * 6 expr `date +\%s` / 604800 \% 2 >/dev/null || yourCommand
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45350 次 |
| 最近记录: |