Aller au contenu principal

RSYNC -- Utilisation

Utilisation

La synchronisation entre deux répertoires appartenant au même ordinateur, par exemple d’un disque dur à un disque externe, n’a pas besoin de configuration. Il suffit simplement de donner la commande pour qu’elle s’exécute. La première fois que la commande est donnée, rsync ne fait que copier les fichiers et répertoires d’un dispositif à l’autre. Par la suite, il se contente de faire une synchronisation (ajout des nouveaux fichiers et répertoires, remplacement des fichiers qui ont changé, etc.)

La commande à exécuter est la suivante :

# rsync options source destination

Quelques unes des options les plus utilisées :

  • -v : mode « verbeux »
  • -r : copie récursive (répertoires et sous répertoires, mais sans conserver les permissions et la date de création).
  • -a : mode « archives » permettant la copie récursive et la préservation des liens symboliques, des permissions, des appartenances (utilisateur et groupe), ainsi que de la date de création.
  • -z : compression des fichiers (pour ménager la bande passante, notamment).
  • -h : affichage des chiffres dans un format lisible par les humains.
  • --progress : pour voir l’avancement du transfert


Pour la liste complète des options : man rsync ou http://www.delafond.org/traducmanfr/man/man1/rsync.1.html (35 pages!!!)

 

Quelques exemples de copie locale

Transfert d’un fichier dans un répertoire local :

jmv@linux2 ~ $ rsync -zvh allo /tmp/sauvegarde/

created directory /tmp/sauvegarde

allo


 

sent 145 bytes received 73 bytes 436.00 bytes/sec

total size is 107 speedup is 0.49


 


Transfert d’un répertoire dans un autre répertoire local :

Ici, étant donné que le répertoire /tmp/sauvegarde existe déjà, il n’a pas besoin d’être créé par rsync

jmv@linux2 ~ $ rsync -azvh lecture /tmp/sauvegarde/

sending incremental file list

lecture/

lecture/Hackers.epub

lecture/Hackers.pdf

lecture/La_Comédie_humaine.pdf

lecture/La_Curée.epub

lecture/La_Fortune_des_Rougon.epub

lecture/buildingdrupal6.epub

lecture/drupal7.epub

lecture/files.txt

lecture/learningdrupal6dev.epub


sent 36.77M bytes received 191 bytes 24.51M bytes/sec

total size is 37.32M speedup is 1.02

 

Vérifions si tout s’est passé comme le programme le dit.

 

Copie entre ordis (linux) distants

 

Pour des ordis distants, le principe est un peu le même et la commande à donner est légèrement différente. Par exemple, d’un ordinateur local à un serveur :

 # rsync -options source utilisateur@serveur:répertoire/

Par exemple, on veut faire une sauvegarde du répertoire « lecture » de tantôt vers le serveur de fichiers familial, qui s’appelle « sf » et dont l’adresse figure dans le fichiers /etc/hosts :

jmv@linux2 ~ $ rsync -azvh lecture jmv@sf:

(jmv@sf) Password: 

sending incremental file list

lecture/

lecture/Hackers.epub

lecture/Hackers.pdf

lecture/La_Comédie_humaine.pdf

lecture/La_Curée.epub

lecture/La_Fortune_des_Rougon.epub

lecture/buildingdrupal6.epub

lecture/drupal7.epub

lecture/files.txt

lecture/learningdrupal6dev.epub


sent 36.77M bytes received 191 bytes 4.33M bytes/sec

total size is 37.32M speedup is 1.02

 

 

Comme on peut le voir, le serveur distant demande un mot de passe. La même opération peut également s’exécuter avec SSH pour assurer une sécurité de bout en bout. Il suffit d’ajouter l’option « e » et ssh à la commande :

jmv@linux2 ~ $ rsync -azvhe ssh lecture jmv@sf:

(jmv@sf) Password: 

sending incremental file list

lecture/

lecture/Hackers.epub

lecture/Hackers.pdf

lecture/La_Comédie_humaine.pdf

lecture/La_Curée.epub

lecture/La_Fortune_des_Rougon.epub

lecture/buildingdrupal6.epub

lecture/drupal7.epub

lecture/files.txt

lecture/learningdrupal6dev.epub


sent 36.77M bytes received 191 bytes 4.33M bytes/sec

total size is 37.32M speedup is 1.02

 

 

Encore une fois, un mot de passe est demandé, à moins qu’un échange de clés ait déjà été effectué entre les deux ordis.