我希望每隔 3 天执行 backup.sh
,怎么个写法?
主要是 每隔 3 天 这个不知道怎么表达?
0 0 1,4,7,10,13,16,19,22,25,28 * * /bin/bash -l -c '/usr/bin/some_great_command'
这是用whenever生成的, https://github.com/javan/whenever
具体代码是这样的
every 3.days do
command "/usr/bin/some_great_command"
end
其实,这样不是严格意义的每隔3天,因为第三位的
*/3
等同于1-31/3
,也就是每个月第一天
执行一次,然后第四天
执行一次,第七天
执行一次...以此类推这样的话 对于每一个月来说,执行周期都是
1,4,7,10,13,16,19,22,25,28,31
对!没错,31号执行完,第二天1号会再执行一次的!
别问我为什么,crontab的天是相对于一个月来说的,如果想实现绝对意义的每隔3天,只能自己写程序判断,然后每天执行,脚本中判断距离上次执行不足3天直接退出