我想用cron设置这个数据库备份例程:
数据库是DB2,如果有人想知道。 “满”表示满,“增量”表示累积增量,“增量增量”表示“非累积增量”。 最坏的情况下还原scheme将是“全+增量+6增量”。
这是我试过的:
# monthly 0 0 1 * * ("do full backup") # weekly 0 0 2-31 * 0 ("do incremental backup") # daily 0 0 2-31 * 1-6 ("do incremental delta backup")
…希望第二行的意思是“星期天备份,但是只有当date在第二和第三十一之间”。 我发现cron不是和它的时间参数,但是ORs他们。 在18日星期二到19日星期三的午夜之间,每天和每周的备份都开始启动,不pipe是不是星期天。 顺便说一句,每日“先来”,并封锁了每周。
现在,我可以调整时间,这样在一天的过程中,每月备份总是在每周之前开始,在每天之前开始(例如在00.01,00.02和00.03),从而利用“阻塞”现象达到我的目标。 但是这很丑陋,而且每隔一段时间,我都必须处理错误输出,这不是真正的错误(被阻塞的备份)。
另外,我可以只在几个月的时间内完成我的计划。 但是完全备份税收主机的资源很难重复,因此我的用户会非常喜欢在周末运行完整备份。
任何build议,不需要脚本? 我想保持设置非常基本,以方便将来使用和理解。 而且,不同的用户组需要不同的备份策略,我不喜欢脚本上的小差异。
问候,Torsten
这个怎么样:
# monthly 0 0 1 * * ("do full backup") # weekly or daily 0 0 2-31 * * (if test `date +%u` -eq 7 then "do incremental backup" else "do incremental delta backup" )