rsync

rsync
rsync
Newrsynclogo.png
Développeurs Andrew Tridgell, Paul Mackerras
Dernière version 3.0.9 (23 septembre 2011) [+/-]
Type Transmission de données/Sauvegarde différentielle
Licence GNU GPL
Site web rsync.samba.org

rsync (remote synchronization, en français : « synchronisation distante ») est un logiciel libre de synchronisation de fichiers, distribué sous licence GNU GPL. La synchronisation est unidirectionnelle, c'est-à-dire qu'elle copie les fichiers de la source en direction de la destination. rsync est donc utilisé pour réaliser des sauvegardes incrémentales ou pour diffuser le contenu d'un répertoire de référence.

rsync fonctionne sur un large spectre de systèmes d'exploitation (Microsoft Windows, Linux, Mac OS X), permettant ainsi de synchroniser des fichiers de différents systèmes d'exploitation.

Sommaire

Détails

rsync est similaire à rcp d'Unix, mais possède de nombreuses options supplémentaires. Il utilise un protocole de mise à jour à distance plus efficace afin d'accélérer significativement le transfert de fichiers lorsque le fichier de destination existe déjà.

Le protocole de mise à jour à distance rsync lui permet de ne transférer que la différence entre deux jeux de fichiers à travers le réseau, en utilisant un algorithme de recherche de somme de contrôle. Ce protocole établit ses connexions sur le port TCP 873 par défaut.

La synchronisation fonctionne selon deux modalités :

  1. en mode local : (sur le même système de fichiers ou sur un répertoire réseau monté en local), où le programme client se charge de comparer les deux versions des répertoires et effectuer la synchronisation ;
  2. en mode distant : le programme client contacte le programme serveur, habituellement grâce au protocole SSH, ce qui permet une communication sécurisée à travers Internet.

Une version est disponible sous MS Windows utilisant la bibliothèque Cygwin, nommé cwRsync[1]. Il s'agit d'une « combinaison » de Cygwin et de rsync.

Historique

rsync a été développé par Andrew Tridgell grâce à ses travaux sur rzip, un algorithme de compression « longue distance » (très efficace car capable de repérer les redondances dans des gros fichiers).

Algorithme

Rsync utilise un algorithme créé par le programmeur australien Andrew Tridgell permettant de transmettre efficacement une structure de données (telle qu'un fichier) à travers un réseau de communication lorsque l'ordinateur récepteur possède déjà une version différente de la même structure de données.

L'ordinateur destinataire découpe sa propre version du fichier en morceaux ne se chevauchant pas, de taille S, et calcule deux sommes de contrôle pour chacun des morceaux : une somme MD4 et une somme plus faible de "fonctionnement". Il envoie ces sommes de contrôle à l'ordinateur source. La version 3.0 du protocole (présente dans la version 3.0 du logiciel RSync) utilise à présent l'algorithme MD5 en lieu et place de MD4.

L'ordinateur source calcule la somme de fonctionnement pour chacun des morceaux de taille S dans sa propre version du fichier, même pour des morceaux se chevauchant. Ceci peut être effectué efficacement suite à une propriété spéciale de la somme de fonctionnement : si la somme de fonctionnement allant des octets n à n+S-1 est R, la somme de fonctionnement des octets n+1 à n+S peut être calculée grâce à R, l'octet n et l'octet n+S sans avoir à examiner les octets intermédiaires. Ainsi si l'on connaît déjà la somme de fonctionnement des octets 1 à 25, l'on peut aisément obtenir la somme de fonctionnement des octets 2 à 26 à partir de la somme précédente.

La somme de fonctionnement utilisé est basée sur la fonction adler-32 de Mark Adler, utilisée dans la zlib et se basant elle-même sur la somme de contrôle de Fletcher. La source compare alors sa somme de fonctionnement avec celle envoyée par le destinataire pour vérifier s'il y a des similitudes. Pour chaque similitude, la source calcule le hachage (hash md4 ou md5) pour le bloc correspondant en le comparant avec le hachage pour ce bloc envoyé par le destinataire. La source envoie par la suite au destinataire les morceaux de fichiers pour lesquels il y a des différences de données, en même temps que l'information nécessaire à l'intégration de ces morceaux dans le fichier incomplet du destinataire. Toutefois, à cause d'éventuelles collisions des données des hash md5 et ou de la somme de fonctionnement, il demeure une faible probabilité pour que des différences entre la source et le destinataire ne soient pas détectées et de ce fait demeurent incorrectes. Sur 128 bits pour MD5 plus 32 pour la somme de fonctionnement, et en considérant l'entropie maximale de ces bits, la possibilité d'une collision de somme de contrôle en combinant les deux sommes (MD5 et de Fonctionnement) est de 2-(128+32) = 2-160 . En pratique, la probabilité est quelque fois supérieure, puisque de bonnes sommes de contrôle approchent l'entropie de sortie maximale.

Si les versions de fichier de la source et du destinataire ont plusieurs sections communes, il n'y a besoin d'envoyer que peu de détails pour synchroniser les fichiers.

Même si son algorithme forme le cœur de l'application Rsync qui optimise grandement les transferts entre deux ordinateurs reliées par un réseau TCP/IP, l'application RSync intègre d'autres éléments clés qui aident de manière significative au transfert de données et à la sauvegarde. On peut citer la compression et décompression de données bloc par bloc en utilisant zlib du côté source ou destination, et le support de protocoles tels que ssh permettant la transmission cryptée de données différentielles compressées. Au final, Rsync permet de limiter la bande passante consommée durant un transfert.

Environnement graphique

Nom Linux Mac Windows Commentaire Licence open-source
LuckyBackup  Oui  Oui Non Non  Oui
GADMIN RSYNC  Oui Non Non Non Non  Oui
Grsync  Oui  Oui  Oui  Oui
QtdSync  Oui Non Non  Oui  Oui
DeltaCopy Non Non Non Non  Oui  Oui[2]
Yintersync Non Non Non Non  Oui  ?
RsyncBackup Non Non Non Non  Oui Client uniquement  ?
Syncrify  Oui Non Non  Oui  ?
Backuplist+ Non Non  Oui Non Non  ?
RipCord Backup Non Non  Oui Non Non  ?
RsyncX Non Non  Oui Non Non  ?
arRsync Non Non  Oui Non Non  Oui
Duplicati Non Non  Oui  Oui  Oui

Notes et références

Voir aussi

Article connexe

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article rsync de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • rsync — Original author(s) Andrew Tridgell, Paul Mackerras Developer(s) Wayne Davison Initia …   Wikipedia

  • Rsync — Saltar a navegación, búsqueda rsync es una aplicación de software para sistemas de tipo Unix que ofrece transmisión eficiente de datos incrementales comprimidos y cifrados. Mediante una técnica de delta encoding, permite sincronizar archivos y… …   Wikipedia Español

  • rsync — Maintainer Wayne Davison Aktuelle Version 3.0.9 (23. September 2011) Betriebssystem Unix, Linux, Mac OS X, Microsoft Windows, OS/2 Kategorie …   Deutsch Wikipedia

  • Rsync — Maintainer: Wayne Davison Aktuelle Version: 3.0.5 (28. Dezember 2008) Betriebssystem: Unix, u. a. Linux, Mac OS X, Windows, OS/2 …   Deutsch Wikipedia

  • Rsync — Разработчик Wayne Davison ОС Кроссплатформенное программное обеспечение Версия 3.0.7 (31 декабря 2009) Лицензия GPL Сайт …   Википедия

  • rsync — Разработчик Wayne Davison Операционная система Кроссплатформенное программное обеспечение Последняя версия 3.0.9 (23 сентября 2011) Лицензия GPL Сайт …   Википедия

  • Rsync — Développeurs Andrew Tridgell, Paul Mackerras Dernière version …   Wikipédia en Français

  • Rsync — infobox software name = rsync caption = rsync logo author = Andrew Tridgell, Paul Mackerras developer = Wayne Davison latest release version = 3.0.4 latest release date = September 6 2008 genre = Data transfer/ differential backup license = GNU… …   Wikipedia

  • RsyncX — rsync Maintainer: Wayne Davison Aktuelle Version: 3.0.5 (28. Dezember 2008) Betriebssystem: Unix, u. a. Linux, Mac OS X, Windows, OS/2 …   Deutsch Wikipedia

  • Rsyncx — rsync Maintainer: Wayne Davison Aktuelle Version: 3.0.5 (28. Dezember 2008) Betriebssystem: Unix, u. a. Linux, Mac OS X, Windows, OS/2 …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”