crontab 制作定时任务,每 3 天执行一个备份脚本该怎么写?


我希望每隔 3 天执行 backup.sh ,怎么个写法?
主要是 每隔 3 天 这个不知道怎么表达?

crontab bash

腋巫女最高 10 years, 1 month ago

 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

自称天然呆 answered 10 years, 1 month ago


 0 0 */3 * * /path/to/backup.sh

其实,这样不是严格意义的每隔3天,因为第三位的 */3 等同于 1-31/3 ,也就是每个月 第一天 执行一次,然后 第四天 执行一次, 第七天 执行一次...以此类推

这样的话 对于每一个月来说,执行周期都是
1,4,7,10,13,16,19,22,25,28,31

对!没错,31号执行完,第二天1号会再执行一次的!

别问我为什么,crontab的天是相对于一个月来说的,如果想实现绝对意义的每隔3天,只能自己写程序判断,然后每天执行,脚本中判断距离上次执行不足3天直接退出

三无少年Ky子 answered 10 years, 1 month ago

Your Answer