Что лучше для резервных копий rsync vs rdiff vs rsnapshot

11

Я использую rsync для резервного копирования с удаленного FTP на локальный компьютер.

Я прочитал в интернете, что rsnapshot лучше.

Просто хочу узнать, что используется в производственной среде


источник

Ответы:

18

rsnapshot использует rsync и cp -alхранит исторический архив с минимальным дополнительным хранилищем. короче говоря:

  • есть «последняя» копия, давайте назовем ее обратно-0
  • предыдущие копии называются back-1, back-2 ....

каждая копия «кажется» полной копией, но фактически любой неизмененный файл сохраняется только один раз. он появляется в нескольких каталогах, используя жесткие ссылки.

процесс прост, скажем, в настоящее время есть 4 копии, от 0 до 3. когда вызывается rsnapshot, это:

  • удаляет самую старую копию: back-3 ( rm -r back-3)
  • переименовывает back-2 в back-3 ( mv back-2 back-3)
  • переименовывает back-1 в back-2 ( mv back-1 back-2)
  • создает 'зеркало ссылок' из back-0 в back-1 ( cp -al back-0 back-1), это создает каталог back-1, но вместо копирования каждого файла из back-0 в back-1, он создает жесткую ссылку; по сути, вторая ссылка на тот же файл. это второе имя так же верно, как и первое, и данные файла не будут удалены с диска, пока не будут удалены оба имени.
  • выполняет rsync из исходного хранилища в back-0. поскольку предыдущая резервная копия все еще работала с back-0, этот rsync очень быстрый (даже для удаленных каналов, поскольку он передает только изменения). файл, который был изменен после предыдущей резервной копии, заменен на back-0, но не на back-1, разрывая связь между ними, поэтому теперь вы сохраняете обе версии. неизмененный файл остается общим для обоих каталогов и не требует дополнительного хранилища для обеспечения согласованности предыдущих копий.

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

Хавьер
источник
2

Поздний ответ на этот FAQ: rsync - это инструмент копирования / синхронизации, очень эффективный для удаленного резервного копирования. rsnapshot и rdiff делают больше, чем одно резервное копирование: они хранят историю резервного копирования. AFAIK, rdiff делает это, сохраняя diff-файлы между каждой резервной копией (дифференциальная резервная копия), поэтому архивы не доступны как есть. OTOH rsnapshot использует жесткие ссылки на идентичные файлы, полные копии всех измененных файлов, поэтому архивы представляют собой простые каталоги, из которых пользователи / администраторы могут осуществлять поиск. Так что есть случаи, когда каждый работает лучше всего.

Лионель Саусин
источник
0

Мы используем rsync для репликации данных через глобальную сеть от нашего основного сервера резервного копирования до нашего сервера резервного копирования «теплых сайтов». Это сработало очень хорошо для этой цели. Что касается rsnapshot, я не знаю, каковы будут преимущества использования этого решения.

Grishanko
источник