rsync

Rsync Descrierea imaginii Newrsynclogo.png.

informație
Dezvoltat de Andrew Tridgell , Paul Mackerras
Prima versiune 19 iunie 1996
Ultima versiune 3.2.3 (6 august 2020)
Depozit git.samba.org/rsync.git
Scris in VS
Sistem de operare Tip Unix
Mediu inconjurator Tip Unix
Tip Software utilitar
Protocol de rețea
Backup diferențial ( ro )
Transmisie date
Licență GNU General Public License versiunea 3
Site-ul web rsync.samba.org

rsync remote synchronization , (în franceză  : "remote synchronization") este un software gratuit de sincronizare a fișierelor, distribuit sub licența GNU GPL . Sincronizarea este unidirecțională, adică copiază fișiere de la sursă la destinație. Prin urmare, rsync este utilizat pentru a efectua copii de rezervă incrementale sau diferențiale sau pentru a distribui conținutul unui director de referință.

rsync funcționează pe o gamă largă de sisteme de operare ( Microsoft Windows , GNU / Linux , Mac OS X , Unix ), permițând sincronizarea fișierelor din diferite sisteme de operare.

Detalii

rsync este similar cu rcp din Unix , dar are multe opțiuni suplimentare. Folosește un protocol de actualizare la distanță mai eficient pentru a accelera semnificativ transferul de fișiere atunci când fișierul de destinație există deja.

De protocol distanta rsync actualizare îi permite să transfere doar diferența dintre cele două seturi de fișiere în întreaga rețea , folosind un algoritm de căutare de control . Acest protocol stabilește conexiunile sale pe portul TCP 873 în mod implicit .

Sincronizarea funcționează în două moduri:

  1. în modul local (pe același sistem de fișiere sau pe un director de rețea montat local): programul client este responsabil pentru compararea celor două versiuni ale directoarelor și efectuarea sincronizării;
  2. în modul la distanță: programul client contactează programul server, de obicei utilizând protocolul SSH , care permite comunicarea sigură prin rețea.

O versiune este disponibilă pe MS Windows utilizând biblioteca Cygwin , numită cwRsync. Aceasta este o „combinație” între Cygwin și rsync.

Istoric

rsync a fost dezvoltat de Andrew Tridgell datorită muncii sale pe rzip , un algoritm de compresie „la distanță lungă” (foarte eficient deoarece este capabil să identifice redundanțele în fișiere mari).

Algoritm

Rsync folosește un algoritm creat de Andrew Tridgell pentru a transmite eficient o structură de date (cum ar fi un fișier) printr-o rețea de comunicații atunci când computerul receptor are deja o versiune diferită a aceleiași structuri de date.

Calculatorul de primire își taie propria versiune a fișierului în bucăți care nu se suprapun de dimensiunea S și calculează două sume de verificare pentru fiecare bucată: o sumă MD4 și o sumă mai mică „în funcțiune”. Trimite aceste sume de control către computerul sursă. Versiunea de protocol 3.0 (introdusă în versiunea de software RSync 3.0) utilizează acum algoritmul MD5 în loc de MD4 .

Calculatorul sursă calculează suma de rulare pentru fiecare dintre bucățile de dimensiunea S în propria versiune a fișierului, chiar și pentru bucăți suprapuse. Acest lucru se poate face eficient datorită unei proprietăți speciale a sumei funcționale: dacă suma funcțională a octeților n la n + S-1 este R, suma funcțională a octeților n + 1 la n + S poate fi calculată folosind R, octeți n și octet n + S fără a fi nevoie să examinați octeții intermediari. Astfel, dacă suma operațională a octeților 1 până la 25 este deja cunoscută, este ușor posibil să se obțină suma operațională a octeților 2 până la 26 din suma anterioară.

Suma operației utilizate se bazează pe funcția adler-32 de la Mark Adler , utilizată în zlib și bazată pe suma de control Fletcher . Sursa compară apoi suma sa operațională cu cea trimisă de destinatar pentru a verifica dacă există asemănări. Pentru fiecare similitudine, sursa calculează hash-ul (md4 sau md5 hash) pentru blocul corespunzător, comparându-l cu hash-ul pentru acel bloc trimis de destinatar. Sursa trimite apoi destinatarului bucățile de fișiere pentru care există diferențe de date, împreună cu informațiile necesare pentru a integra aceste bucăți în fișierul incomplet al destinatarului. Cu toate acestea, datorită posibilelor coliziuni ale datelor hash md5 și / sau sumelor operaționale, rămâne o probabilitate redusă ca diferențele dintre sursă și destinatar să nu fie detectate și, prin urmare, să rămână incorecte. Din 128 de biți pentru MD5 plus 32 pentru suma operației și având în vedere entropia maximă a acestor biți, posibilitatea unei coliziuni a sumelor de control prin combinarea celor două sume (MD5 și Operațiune) este 2 - (128 + 32) = 2 -160 . În practică, probabilitatea este uneori mai mare, deoarece sumele de control bune se apropie de entropia maximă de ieșire.

Dacă versiunea fișierului sursă și destinatar are mai multe secțiuni comune, este puțin nevoie să trimiteți pentru a sincroniza fișierele.

Chiar dacă algoritmul său formează inima aplicației Rsync care optimizează foarte mult transferurile între două computere conectate printr-o rețea TCP / IP, aplicația RSync încorporează alte elemente cheie care ajută în mod semnificativ la transferul de date și comunicare. Se poate cita compresia și decompresia blocului de date prin bloc folosind zlib pe partea sursă sau destinație și suportul protocoalelor precum ssh care permite transmiterea criptată a datelor diferențiale comprimate. În cele din urmă, Rsync vă permite să limitați lățimea de bandă consumată în timpul unui transfer.

Aplicații rsync

Numele de familie GNU / Linux Mac OS Windows cometariu Licență gratuită
luckyBackup da da da da Nu Nu da da
GADMIN RSYNC da da Nu Nu Nu Nu da da
Grsync da da da da da da GUI pentru rsync da da
QtdSync  (ro) da da Nu Nu da da da da
DeltaCopy Nu Nu Nu Nu da da da da
Yintersync Nu Nu Nu Nu da da ?
HardlinkBackup Nu Nu Nu Nu da da Numai client Nu Nu
Sincrizați da da Nu Nu da da Nu Nu
Backuplist + Nu Nu da da Nu Nu ?
Rclone da da da da da da Linie de comandă pentru multe servicii de stocare online da da
Copiere de rezervă RipCord Nu Nu da da Nu Nu ?
RsyncX Nu Nu da da Nu Nu ?
arRsync Nu Nu da da Nu Nu da da
Duplicat da da da da da da da da
Unison da da da da da da Bidirecțional GPL

Note și referințe

  1. „  ȘTIRI pentru rsync 3.2.3 (6 august 2020)  ” (accesat la 23 decembrie 2020 )
  2. cwRsync
  3. DeltaCopy - Rsync pentru Windows , 20 iulie 2011.

Vezi și tu

Articole similare

linkuri externe