rsync

Rsync Opis obrazu Newrsynclogo.png.

Informacja
Opracowany przez Andrew Tridgell , Paul Mackerras
Pierwsza wersja 19 czerwca 1996
Ostatnia wersja 3.2.3 (6 sierpnia 2020)
Kaucja git.samba.org/rsync.git
Napisane w VS
System operacyjny Typ uniksowy
Środowisko Typ uniksowy
Rodzaj Oprogramowanie narzędziowe
Protokół sieciowy
Kopia różnicowa ( en )
Transmisja danych
Licencja Powszechna Licencja Publiczna GNU w wersji 3
Stronie internetowej rsync.samba.org

rsync zdalna synchronizacja (po francusku  : „zdalna synchronizacja”) to bezpłatne oprogramowanie do synchronizacji plików, rozpowszechniane na licencji GNU GPL . Synchronizacja jest jednokierunkowa, to znaczy kopiuje pliki ze źródła do miejsca docelowego. Dlatego rsync jest używany do wykonywania przyrostowych lub różnicowych kopii zapasowych lub do dystrybucji zawartości katalogu referencyjnego.

rsync działa w wielu systemach operacyjnych ( Microsoft Windows , GNU / Linux , Mac OS X , Unix ), umożliwiając synchronizację plików z różnych systemów operacyjnych.

Detale

rsync jest podobny do rcp systemu Unix , ale ma wiele dodatkowych opcji. Używa bardziej wydajnego protokołu zdalnej aktualizacji, aby znacznie przyspieszyć transfer plików, gdy plik docelowy już istnieje.

Protokół aktualizacji rsync odległość pozwala mu przesłać tylko różnicę między dwoma zbiorami plików przez sieć przy użyciu algorytmu wyszukiwania kontrolną . Ten protokół domyślnie ustanawia swoje połączenia na porcie TCP 873 .

Synchronizacja działa na dwa sposoby:

  1. w trybie lokalnym (w tym samym systemie plików lub w lokalnie podłączonym katalogu sieciowym): program klienta jest odpowiedzialny za porównanie dwóch wersji katalogów i wykonanie synchronizacji;
  2. w trybie zdalnym: program kliencki kontaktuje się z programem serwera, zwykle za pomocą protokołu SSH , który umożliwia bezpieczną komunikację przez sieć.

Wersja jest dostępna na MS Windows przy użyciu biblioteki Cygwin o nazwie cwRsync. To jest „połączenie” Cygwin i rsync.

Historyczny

rsync został opracowany przez Andrew Tridgella dzięki jego pracy nad rzip , algorytmem kompresji „długodystansowej” (bardzo wydajnym, ponieważ jest w stanie zidentyfikować nadmiarowości w dużych plikach).

Algorytm

Rsync wykorzystuje algorytm stworzony przez Andrew Tridgella do wydajnego przesyłania struktury danych (takiej jak plik) przez sieć komunikacyjną, gdy komputer odbierający ma już inną wersję tej samej struktury danych.

Komputer odbierający tnie swoją własną wersję pliku na niezachodzące na siebie fragmenty o rozmiarze S i oblicza dwie sumy kontrolne dla każdego z nich: sumę MD4 i mniejszą sumę „działającą”. Wysyła te sumy kontrolne do komputera źródłowego. Protokół w wersji 3.0 (wprowadzony w wersji oprogramowania RSync 3.0) używa teraz algorytmu MD5 zamiast MD4 .

Komputer źródłowy oblicza sumę bieżącą dla każdego fragmentu rozmiaru S w jego własnej wersji pliku, nawet dla fragmentów nakładających się. Można to zrobić efektywnie dzięki specjalnej właściwości sumy funkcjonalnej: jeśli działająca suma bajtów od n do n + S-1 wynosi R, to sumę funkcjonalną bajtów od n + 1 do n + S można obliczyć za pomocą R, bajt ni bajt n + S bez konieczności sprawdzania pośrednich bajtów. Tak więc, jeśli operacyjna suma bajtów od 1 do 25 jest już znana, łatwo jest otrzymać sumę operacyjną bajtów od 2 do 26 z poprzedniej sumy.

Suma operacji używany jest na podstawie funkcji Adler-32 z Mark Adler , stosowanego w zlib i oparła się na kontrolną Fletcher . Następnie źródło porównuje swoją sumę operacyjną z kwotą przesłaną przez odbiorcę, aby sprawdzić, czy istnieją podobieństwa. Dla każdego podobieństwa źródło oblicza hash (hash md4 lub md5) dla odpowiedniego bloku, porównując go z hashem tego bloku wysłanego przez odbiorcę. Następnie źródło wysyła do odbiorcy fragmenty plików, w przypadku których występują różnice w danych, wraz z informacjami potrzebnymi do zintegrowania tych fragmentów z niekompletnym plikiem odbiorcy. Jednak ze względu na możliwe kolizje danych skrótu md5 i / lub sumy operacji, istnieje małe prawdopodobieństwo, że różnice między źródłem a odbiorcą nie zostaną wykryte i dlatego pozostaną nieprawidłowe. Spośród 128 bitów dla MD5 plus 32 dla sumy operacji i biorąc pod uwagę maksymalną entropię tych bitów, możliwość kolizji sumy kontrolnej przez połączenie dwóch sum (MD5 i Operacja) wynosi 2 - (128 + 32) = 2-160 . W praktyce prawdopodobieństwo jest czasami większe, ponieważ dobre sumy kontrolne zbliżają się do maksymalnej entropii wyjściowej.

Jeśli wersje pliku źródłowego i odbiorcy mają wiele wspólnych sekcji, nie ma potrzeby wysyłania w celu zsynchronizowania plików.

Mimo że jego algorytm stanowi serce aplikacji Rsync, która znacznie optymalizuje transfery między dwoma komputerami połączonymi siecią TCP / IP, aplikacja RSync zawiera inne kluczowe elementy, które znacznie pomagają w przesyłaniu danych i tworzeniu kopii zapasowych. Można przytoczyć kompresję i dekompresję danych blok po bloku przy użyciu zlib po stronie źródłowej lub docelowej oraz obsługę protokołów, takich jak ssh, umożliwiających szyfrowaną transmisję skompresowanych danych różnicowych. Ostatecznie Rsync pozwala ograniczyć przepustowość zużywaną podczas transferu.

Aplikacje Rsync

Nazwisko GNU / Linux System operacyjny Mac Windows Komentarz Darmowa licencja
luckyBackup tak tak tak tak Nie Nie tak tak
GADMIN RSYNC tak tak Nie Nie Nie Nie tak tak
Grsync tak tak tak tak tak tak GUI dla rsync tak tak
QtdSync  (en) tak tak Nie Nie tak tak tak tak
DeltaCopy Nie Nie Nie Nie tak tak tak tak
Yintersync Nie Nie Nie Nie tak tak ?
HardlinkBackup Nie Nie Nie Nie tak tak Tylko klient Nie Nie
Syncrify tak tak Nie Nie tak tak Nie Nie
Lista kopii zapasowych + Nie Nie tak tak Nie Nie ?
Rclone tak tak tak tak tak tak Wiersz poleceń dla wielu usług przechowywania danych online tak tak
RipCord Backup Nie Nie tak tak Nie Nie ?
RsyncX Nie Nie tak tak Nie Nie ?
arRsync Nie Nie tak tak Nie Nie tak tak
Duplikować tak tak tak tak tak tak tak tak
Unisono tak tak tak tak tak tak Dwukierunkowy LPG

Uwagi i odniesienia

  1. „  NEWS for rsync 3.2.3 (6 sierpnia 2020)  ” (dostęp 23 grudnia 2020 )
  2. cwRsync
  3. DeltaCopy - Rsync for Windows , 20 lipca 2011.

Zobacz też

Powiązane artykuły

Linki zewnętrzne