Что случится, если rsnapshot / rdiff-backup будет прерван в середине передачи?

Вопрос говорит обо всем:

Что случится, если rsnapshot или rdiff-backup будут прерваны во время передачи?

Я знаю, что rsnapshot пытается сделать полный снимок вашей системы во вращающемся режиме, а rsnapshot делает дифференциальное резервное копирование, которое будет основано на файлах, ранее сохраненных за ним.

Итак: Что произойдёт, если он будет прерван посередине?

Приведёт ли это к "неполному снэпшоту"?

Будут ли повреждены другие снэпшоты, зависящие от этого? (Конечно, нет, но... ?)

20
задан 15 October 2010 в 04:35

2 ответа

Я так понимаю, что...

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 для чего-то критически важного , прочтите каждое слово в руководстве и проверьте, проверьте, проверьте все сами!

22
ответ дан 5 January 2021 в 23:58

Это только что случилось со мной. мой внешний диск был заполнен на полпути при инкрементном резервном копировании rsnapshot:

rsync: write failed on "<path>": No space left on device (28) 

Теперь я хотел бы поделиться парой вещей, которые я узнал из этого. то есть для восстановления и значительного ограничения шансов, что такой случай укусит меня;)

Возобновить прерванное резервное копирование Rsnapshot

Я знаю два способа безопасного отката.

Вручную

  1. Удалить последний каталог ( например daily.0)
  2. Переименование последовательных каталогов (daily.1 -> daily.0, ...); возможный сценарий 1
  3. Запустить резервное копирование как обычно (снова).

Автоматически

rsnapshot не имеет возможности паузы / остановки и возобновления (за исключением ограниченного «, пропущенного из-за плана отката ] " 2 ), поэтому мы должны использовать оболочку для обработки этих функций.

rsnapshot-once 3 Филиппа К. Хекеля - это оболочка для rsnapshot в PHP, которая:

  • работает без изменения конфигурации вашего rsnapshot
  • гарантирует, что ежедневные, еженедельные и ежемесячные задачи запускаются только один раз в соответствующий период времени, через cron (удобно для ноутбуков)
  • откат неудачного резервного копирования (проверяет, была ли завершена последняя резервная копия; если нет, то последний каталог удаляется, а последовательные каталоги переименовываются, например daily1. -> daily.0, ...)

Пользуясь им в течение года, я счастливый пользователь : Я отредактировал файл php.ini openbase_dir для моей потребности в резервном копировании и вуаля, удачный день ^ _ ^ Более плавно и безопаснее, чем мое предыдущее решение на основе необработанных снимков rsnapshot.

Примечание: slm lin убил меня здесь из-за повторяющегося вопроса: Место назначения Rsnapshot заполнено - как безопасно перезапустить?

1
ответ дан 5 January 2021 в 23:58

Другие вопросы по тегам:

Похожие вопросы: