问题说明了一切:
如果在传输过程中rsnapshot或rdiff-backup被中断会怎样?
我知道rsnapshot会尝试以循环方式制作系统的完整快照,而rdiff-backup会进行差异备份,该备份将基于先前保存在其后的文件。
那么:如果它在中间被打断怎么办?
这会导致“快照不完整”吗?
依赖于此快照的其他快照会被破坏吗?(当然不是,但是...?)
问题说明了一切:
如果在传输过程中rsnapshot或rdiff-backup被中断会怎样?
我知道rsnapshot会尝试以循环方式制作系统的完整快照,而rdiff-backup会进行差异备份,该备份将基于先前保存在其后的文件。
那么:如果它在中间被打断怎么办?
这会导致“快照不完整”吗?
依赖于此快照的其他快照会被破坏吗?(当然不是,但是...?)
Answers:
我的理解是...
rdiff-backup将在下次运行时检测到不完全的增量。它将删除不完整的增量,以使备份位置与从未启动过的中断备份尝试相同。
rsnapshot有点复杂,因为它的例程更加逐步,并且根据sync_first
和use_lazy_deletes
选项的使用而有所不同。
sync_first
它rsnapshot sync
并被打断,则只需rsnapshot sync
再次运行即可解决问题。如果您不小心rsnapshot <backup level>
在此时运行,则最新的备份点将保持不完整,并轮流进行。sync_first
,则只会遇到一个不完整的备份点,该备份点是新旧文件的混合。除非您手动反向旋转每个备份点,否则不完整的备份点将通过旋转进行。rsnapshot <backup level>
除非use_lazy_deletes
启用,否则运行都会导致最旧的备份点丢失。请注意,sync_first
并use_lazy_deletes
在使用更多的磁盘空间为代价来。
提醒/免责声明:这应该不言而喻,但绝不要盲目地相信互联网上其他人的建议。如果您计划使用rdiff进行备份或rsnapshot的东西,关键任务,阅读每本手册和单词测试,测试,测试一切自己!
那只是发生在我身上。我的外部驱动器在rsnapshot的增量备份中途变满了:
rsync: write failed on "<path>": No space left on device (28)
现在,我想分享一些我从中学到的东西。即修复并限制这种情况下将我咬伤的机会;)
我知道有两种安全回滚的方法。
rsnapshot没有暂停/停止和继续功能(除了有限的“ 由于回滚计划而跳过 ” 2),因此我们必须使用包装器来处理这些功能。
rsnapshot-once
Philipp C. 3编写的Heckel是PHP中rsnapshot的包装,其中包括:
使用了一年,我是一个快乐的用户:我编辑了php.ini来openbase_dir
满足我的备份需求,瞧,幸运的日子^ _ ^比以前的基于rsnapshot的原始解决方案更流畅,更安全。
注意:slm通过重复的问题在这里链接了我:Rsnapshot目标已满-如何安全地重新运行?