Dino Geek, cerca di aiutarti

In che modo RSYNC confronta i file per rilevare le modifiche?


RSYNC è un software open source usato per sincronizzare i file e le directory da una posizione all’altra. Questo utilizzo può variare dal backup dei dati, alla copia di file tra diversi computer o server.

L’RSYNC può identificare e copiare solo le parti dei file che sono state modificate, piuttosto che copiare l’intero file, risparmiando così larga larghezza di banda e tempo. Ma come fa RSYNC a confrontare i file per rilevare le modifiche?

RSYNC usa un algoritmo basato sull’uso di somme di controllo a blocchi. Per prima cosa, divide i file di destinazione in blocchi di dimensione fissa e calcola la somma di controllo per ciascun blocco. Poi, legge i file sorgente e per ogni blocco, controlla se esiste un blocco nella destinazione con la stessa somma di controllo. Se esiste, il blocco non viene trasferito, ma viene registrato per essere copiato dal file di destinazione. Se non esiste, il blocco viene inviato alla destinazione. Infine, RSYNC invia un elenco di blocchi da copiare dalla destinazione, e blocchi da inviare.

Esempio: supponiamo di avere un file sorgente “A” e un file di destinazione “B”. Supponiamo che “A” sia stato modificato aggiungendo qualche parola alla fine del file. Quando RSYNC esegue la sua operazione di sincronizzazione, divide “B” in blocchi e calcola le somme di controllo. Poi legge “A” e per ogni blocco in “A”, controlla se c’è un blocco in “B” con la stessa somma di controllo. In questo caso, l’intero “A” a parte l’ultimo blocco (le parole aggiunte) avrà blocchi corrispondenti in “B”. Quindi, l’RSYNC manda solo le nuove parole (l’ultimo blocco di “A”) alla destinazione.

Per approfondire il funzionamento e l’algoritmo di RSYNC, il paper “The rsync algorithm” di Andrew Tridgell e Paul Mackerras fornisce una spiegazione dettagliata.

Tridgell, A., & Mackerras, P. (1996). The rsync algorithm. Technical report, Australian National University. Recuperato da: https://www.cis.upenn.edu/~bcpierce/courses/dd/papers/rsync.pdf

Inoltre, il manuale utente di RSYNC (disponibile sul sito del progetto) può essere utile per capire come i file vengono confrontati per rilevare le modifiche.

rsync project, (2021). rsync(1) – Linux man page. Recuperato da: https://linux.die.net/man/1/rsync


Genera semplicemente articoli per ottimizzare il tuo SEO
Genera semplicemente articoli per ottimizzare il tuo SEO





DinoGeek offre articoli semplici su tecnologie complesse

Vuoi essere citato in questo articolo? È molto semplice, contattaci a dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nome dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Avviso Legale / Condizioni Generali di Utilizzo