Który jest najlepszy dla kopii zapasowych rsync vs rdiff vs rsnapshot

11

Korzystam z rsync do tworzenia kopii zapasowych ze zdalnego FTP na komputer lokalny.

Czytałem w Internecie, że rsnapshot jest lepszy.

Po prostu chcę wiedzieć, który jest używany w środowisku produkcyjnym


źródło

Odpowiedzi:

18

rsnapshot używa rsync i cp -aldo przechowywania archiwum historycznego przy minimalnej dodatkowej przestrzeni dyskowej. w skrócie:

  • jest „ostatnia” kopia, nazwijmy to z powrotem-0
  • poprzednie kopie nazywały się back-1, back-2 ....

każda kopia „wydaje się” być pełną, ale w rzeczywistości każdy niezmieniony plik jest przechowywany tylko raz. pojawia się w kilku katalogach za pomocą twardych linków.

proces jest prosty, powiedzmy, że obecnie są 4 kopie, od 0 do 3. po wywołaniu rsnapshot:

  • usuwa najstarszą kopię: back-3 ( rm -r back-3)
  • zmienia nazwy back-2 na back-3 ( mv back-2 back-3)
  • zmienia nazwy back-1 na back-2 ( mv back-1 back-2)
  • tworzy „dublowanie łącza” od back-0 do back-1 ( cp -al back-0 back-1), to tworzy katalog back-1, ale po skopiowaniu każdego pliku z back-0 do back-1 tworzy hardlink; w efekcie drugie odniesienie do tego samego pliku. ta druga nazwa jest tak samo ważna jak pierwsza, a dane pliku nie zostaną usunięte z dysku, dopóki obie nazwy nie zostaną usunięte.
  • wykonuje synchronizację rsync z oryginalnej pamięci do 0. ponieważ poprzednia kopia zapasowa wciąż była w wersji 0, rsync jest bardzo szybki (nawet na zdalnych linkach, ponieważ przenosi tylko zmiany). plik, który został zmieniony od czasu zastąpienia poprzedniej kopii zapasowej na kopii 0, ale nie na kopii 1, przerywając połączenie między nimi, więc teraz zachowujesz obie wersje. niezmieniony plik pozostaje wspólny dla obu katalogów i nie będzie wymagał dodatkowej pamięci, aby zachować spójność poprzednich kopii.

po zapoznaniu się z procedurą okaże się bardzo przydatna. wcale nie jest skomplikowane, czasami robię to ręcznie, aby sporadycznie zachować „poprzednie wersje” w interesujących momentach (tuż przed ważną aktualizacją, zaraz po instalacji i konfiguracji systemu itp.)

Javier
źródło
2

Późna odpowiedź na te pytania: rsync to narzędzie do kopiowania / synchronizacji, bardzo wydajne w przypadku odległych kopii zapasowych. rsnapshot i rdiff wykonują więcej niż jedną kopię zapasową: przechowują historię kopii zapasowej. AFAIK, rdiff robi to poprzez przechowywanie różnic plików między każdą kopią zapasową (różnicowa kopia zapasowa), aby archiwa nie były dostępne w obecnej postaci. OTOH rsnapshot używa twardych dowiązań dla identycznych plików, pełnych kopii każdego zmienionego pliku, więc archiwa są prostymi katalogami, z których użytkownicy / administratorzy mogą wyszukiwać. Są więc przypadki, w których każdy działa najlepiej.

Lionel Sausin
źródło
0

Używamy rsync do replikacji danych w sieci WAN z naszego głównego serwera kopii zapasowych do serwera kopii zapasowych ciepłych witryn. W tym celu działał bardzo dobrze. Jeśli chodzi o rsnapshot, nie wiem, jakie byłyby zalety korzystania z tego rozwiązania.

Grishanko
źródło