Cron:无法让我的备份计划与rsnapshot一起使用

我正在使用rsnapshot设置备份。 它现在正在运行cron,但不是在我打算的时间间隔内。

以下是时间表。 这是最小化重叠备份的方法。 这应该每半小时生成8次备份,然后每小时生成8次备份,然后每两个小时生成18次备份,以此类推。

Hour 0 1 2 3 4 5 6 7 8 9 10 11 -------------|------------------------------------------------------------------- half-hourly | xxxx hourly | xxxxxx two-hourly | xxxxx x... (24) daily |(7) weekly |(4) 

/etc/rsnapshot提取

 interval halfhourly 4 interval hourly 6 interval twohourly 24 interval daily 7 interval weekly 4 

这是从星期一00:00至14:00的结果。

 root@hemulen:~# ls -lat /var/backups/snapshots/ total 48 drwxr-xr-x 12 root root 4096 Sep 20 13:32 . drwxr-xr-x 4 root root 4096 Sep 20 13:32 halfhourly.0 drwxr-xr-x 4 root root 4096 Sep 20 12:32 halfhourly.1 drwxr-xr-x 4 root root 4096 Sep 20 11:32 halfhourly.2 drwxr-xr-x 4 root root 4096 Sep 20 10:32 halfhourly.3 drwxr-xr-x 4 root root 4096 Sep 20 09:33 hourly.0 drwxr-xr-x 4 root root 4096 Sep 20 07:32 hourly.1 drwxr-xr-x 4 root root 4096 Sep 20 05:32 hourly.2 drwxr-xr-x 4 root root 4096 Sep 20 03:32 hourly.3 drwxr-xr-x 3 root root 4096 Sep 20 02:38 .. drwxr-xr-x 4 root root 4096 Sep 20 02:33 hourly.4 drwxr-xr-x 4 root root 4096 Sep 20 01:32 hourly.5 

这是crontab。

 30 * * * * /usr/bin/rsnapshot halfhourly >> /var/log/rsnapshot.run.log 2>&1 0 1,3,5,7,9,11,13,15,17,19,21,23 * * * /usr/bin/rsnapshot hourly >> /var/log/rsnapshot.run.log 2>&1 0 */2 * * * /usr/bin/rsnapshot two-hourly >> /var/log/rsnapshot.run.log 2>&1 0 3 * * * /usr/bin/rsnapshot daily >> /var/log/rsnapshot.run.log 2>&1 0 6 * * MON /usr/bin/rsnapshot weekly >> /var/log/rsnapshot.run.log 2>&1 

我在做什么错了,我在这里错过了什么?


我改变了,现在已经跑了一个星期了。 我每两小时降低一次存储12个备份。

 drwxr-xr-x 5 root root 4096 Sep 27 09:33 halfhourly.0 drwxr-xr-x 5 root root 4096 Sep 27 09:03 halfhourly.1 drwxr-xr-x 5 root root 4096 Sep 27 08:33 halfhourly.2 drwxr-xr-x 5 root root 4096 Sep 27 08:04 halfhourly.3 drwxr-xr-x 5 root root 4096 Sep 27 07:33 hourly.0 drwxr-xr-x 5 root root 4096 Sep 27 06:33 hourly.1 drwxr-xr-x 5 root root 4096 Sep 27 05:33 hourly.2 drwxr-xr-x 5 root root 4096 Sep 27 04:33 hourly.3 drwxr-xr-x 5 root root 4096 Sep 27 02:33 hourly.4 drwxr-xr-x 5 root root 4096 Sep 27 01:33 hourly.5 drwxr-xr-x 5 root root 4096 Sep 27 00:33 twohourly.0 drwxr-xr-x 5 root root 4096 Sep 26 22:33 twohourly.1 drwxr-xr-x 5 root root 4096 Sep 26 21:33 twohourly.2 drwxr-xr-x 5 root root 4096 Sep 26 19:33 twohourly.3 drwxr-xr-x 5 root root 4096 Sep 26 17:33 twohourly.4 drwxr-xr-x 5 root root 4096 Sep 26 15:33 twohourly.5 drwxr-xr-x 5 root root 4096 Sep 26 13:33 twohourly.6 drwxr-xr-x 5 root root 4096 Sep 26 11:33 twohourly.7 drwxr-xr-x 5 root root 4096 Sep 26 09:33 twohourly.8 drwxr-xr-x 5 root root 4096 Sep 26 07:33 twohourly.9 drwxr-xr-x 5 root root 4096 Sep 26 05:34 twohourly.10 drwxr-xr-x 5 root root 4096 Sep 26 02:33 twohourly.11 drwxr-xr-x 5 root root 4096 Sep 25 21:33 daily.0 drwxr-xr-x 5 root root 4096 Sep 24 21:33 daily.1 drwxr-xr-x 4 root root 4096 Sep 23 21:33 daily.2 drwxr-xr-x 4 root root 4096 Sep 22 21:33 daily.3 drwxr-xr-x 4 root root 4096 Sep 21 21:33 daily.4 drwxr-xr-x 4 root root 4096 Sep 20 21:32 daily.5 

crontab的

 0,30 * * * * /usr/bin/rsnapshot halfhourly >> /var/log/rsnapshot.halfhourly.log 2>&1 5 * * * * /usr/bin/rsnapshot hourly >> /var/log/rsnapshot.hourly.log 2>&1 10 */2 * * * /usr/bin/rsnapshot twohourly >> /var/log/rsnapshot.twohourly.log 2>&1 15 3 * * * /usr/bin/rsnapshot daily >> /var/log/rsnapshot.daily.log 2>&1 20 6 * * MON /usr/bin/rsnapshot weekly >> /var/log/rsnapshot.weekly.log 2>&1 

每周似乎还没有工作,但改变MON为1可能会解决它。 两小时并不总是每两个小时

您必须了解rsnapshot如何生成备份。

首先:只有您定义的第一个时间间隔,其他时间间隔只需移动旧的快照。

在你的例子中:

 interval halfhourly 4 

先将旧快照从半小时移到半小时。 然后在半小时内拍摄一个新的快照。

当你运行其他工作(每小时,两小时,每天,每周)时,他们只是拿出以前工作的最后一个快照。 所以:小时候.4两点钟搬到两点钟。二十四点钟搬到每天一点零点七。每周移动一次。

这解释了为什么快照的时间戳总是.32。 因为它实际上是一个“半小时”的快照,被转移到“小时”。

希望有帮助,亚历克斯

我不熟悉rsnapshot。 但是我有几个问题。 首先,检查/var/log/rsnapshot.run.log,并确保其中的信息与您在/ var / backup中检查的目录名称相匹配。 和错误消息这可能有助于阐明事情。

检查日志,看看事情正在运行。 如果需要,通过使日志: /var/log/rsnapshot.run.$$.log. $$.log将日志分成单独的文件/var/log/rsnapshot.run.$$.log. 这把PID放在那里,应该使它们独一无二。

其次,你能提供脚本的backup部分吗? 我很好奇,看看备份文件应该在哪里。 这里的拼写错误可能会使备份文件散落在系统的其他地方。

查看目录时间戳有点令人困惑。 这可能是你的半小时脚本正在修改的东西,使所有其他目录的时间戳也被改变。 AFAIK,rsnapshot使用以前备份的硬链接。 所以修改可能渗透到其他工作目录。 在这种情况下,小时会半小时复制,这就解释了你所看到的情况。

其次,它会出现你的版本的cron不支持* / 2语法。 因此,为什么你的小时脚本只能在凌晨2点运行一次。 它可能不会处理MON。 因此,为每一个做一个testing工作,并确保它实际上按预期运行。

– 克里斯托弗·卡雷尔