crontab 制作定时任务,每 3 天执行一个备份脚本该怎么写?
我希望每隔 3 天执行
backup.sh
,怎么个写法?
主要是
每隔 3 天
这个不知道怎么表达?
腋巫女最高
10 years, 1 month ago
Answers
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