Вопрос говорит обо всем:
Что случится, если rsnapshot или rdiff-backup будут прерваны во время передачи?
Я знаю, что rsnapshot пытается сделать полный снимок вашей системы во вращающемся режиме, а rsnapshot делает дифференциальное резервное копирование, которое будет основано на файлах, ранее сохраненных за ним.
Итак: Что произойдёт, если он будет прерван посередине?
Приведёт ли это к "неполному снэпшоту"?
Будут ли повреждены другие снэпшоты, зависящие от этого? (Конечно, нет, но... ?)
Я так понимаю, что...
rdiff-backup при следующем запуске определит неполный инкремент. Он удалит незавершенный инкремент таким образом, чтобы местоположение резервной копии было таким же, как если бы прерванная попытка резервного копирования никогда не была запущена.
rsnapshot немного сложнее, так как его процедура более пошаговая и различается в зависимости от использования опций sync_first
и use_lazy_deletes
.
sync_first
и rsnapshot sync
прерывается, Вы можете просто запустить rsnapshot sync
еще раз, чтобы все исправить. Если вместо этого случайно запустить rsnapshot <уровень резервного копирования>
, последняя точка резервного копирования останется незавершенной и будет проходить через вращения.sync_first
, вы просто застрянете с незавершенной точкой резервного копирования, которая представляет собой гибрид старых и новых версий файлов. Если не поворачивать каждую точку резервного копирования вручную, то незавершенная точка резервного копирования будет проходить через вращения.rsnapshot <уровень резервного копирования>
приведет к потере самой старой точки резервного копирования, если только не активирована функция use_lazy_deletes
. Обратите внимание, что sync_first
и use_lazy_deletes
стоят того, чтобы использовать больше дискового пространства.
Напоминание/отказ от ответственности: Это должно быть само собой разумеющимся, но никогда не стоит просто слепо доверять советам других в Интернете. Если вы планируете использовать rdiff-backup или rsnapshot для чего-то критически важного , прочтите каждое слово в руководстве и проверьте, проверьте, проверьте все сами!
Это только что случилось со мной. мой внешний диск был заполнен на полпути при инкрементном резервном копировании rsnapshot:
rsync: write failed on "<path>": No space left on device (28)
Теперь я хотел бы поделиться парой вещей, которые я узнал из этого. то есть для восстановления и значительного ограничения шансов, что такой случай укусит меня;)
Я знаю два способа безопасного отката.
rsnapshot не имеет возможности паузы / остановки и возобновления (за исключением ограниченного «, пропущенного из-за плана отката ] " 2 ), поэтому мы должны использовать оболочку для обработки этих функций.
rsnapshot-once
3 Филиппа К. Хекеля - это оболочка для rsnapshot в PHP, которая:
Пользуясь им в течение года, я счастливый пользователь : Я отредактировал файл php.ini openbase_dir
для моей потребности в резервном копировании и вуаля, удачный день ^ _ ^ Более плавно и безопаснее, чем мое предыдущее решение на основе необработанных снимков rsnapshot.
Примечание: slm lin убил меня здесь из-за повторяющегося вопроса: Место назначения Rsnapshot заполнено - как безопасно перезапустить?