Skip to content

Latest commit

 

History

History
105 lines (75 loc) · 2.77 KB

File metadata and controls

105 lines (75 loc) · 2.77 KB

rsync

Objectif

  • Comprendre l'intérêt de rsync par rapport à d'autres outils
  • Savoir effectuer les opérations de base avec rsync

Intérêt

Syntax: rsync [options] <SOURCE> <DESTINATION>

rsync est un outil très puissant servant à faire notamment de la copie et du transfert de fichier. Sa particularité est qu'il est capable de détecter des fichiers ou dossier ajoutés/supprimés/modifiés dans la SOURCE et de ne copy que ceux-ci dans le répertoire de DESTINATION.

Cette une différence majeure avec cp qui lui copie SOURCE vers DESTINATION de manière brutale.

Cette capacité à ne transférer que la partie "utile" de la SOURCE permet d'économiser un temps précieux lors de la copie de fichiers volumineux.

rsync a de nombreuses options, les plus utilisées étant :

  • -a, --archive mode archive (typiquement ce qu'on veut 95% du temps)

  • -v, --verbose mode verbeux (afficher les éléments au fur et à mesure qu'il sont copiés)

  • -P, --progress montre l'avancement, fichier par fichier

  • -h, --human-readable montre les tailles au format humain (à utiliser avec -P)

  • -x, --exclude <MOTIF> exclut des éléments de la copie.

  • Copie simple

  • Copie depuis/vers une machine distance

  • Copie de fichiers volumineux

Copie simple

$ cd ~/dubii
$ mkdir ~/tmp
$ rsync -av study-cases ~/tmp
building file list ... done
study-cases/
study-cases/.gitignore
study-cases/LICENSE.txt
study-cases/README.md -> study-cases.md
study-cases/_config.yml
study-cases/study-cases.Rproj
study-cases/study-cases.html
study-cases/study-cases.md
study-cases/.git/
study-cases/.git/HEAD
study-cases/.git/config
[...]

Si seulement un fichier est modifié et qu'on relance la copie, seulement ledit fichier est copié :

$ # Modifying README.md
$ echo "modifying README" >> study-cases/study-cases.md
$ # Making the copy again
$ rsync -av study-cases ~/tmp
sending incremental file list
study-cases/study-cases.md

sent 8,153 bytes  received 67 bytes  16,440.00 bytes/sec
total size is 50,480,444  speedup is 6,141.17

Copie depuis/vers une machine distance

rsync peut être utilisé comme alternative (plus efficace) à scp.

Copie depuis une machine distante:

rsync -a [email protected]:study-cases .

Copie vers une machine distante:

rsync -a study-cases [email protected]:

Copie de fichiers volumineux

Lorsqu'on copie des fichiers volumineux, il peut être intéressant d'utiliser les options -Ph pour voir l'avancement du processus :

$ rsync -aPh my-big-file.tar.gz [email protected]:
building file list ...
1 file to consider
my-big-file.tar.gz
     301.75M  22%   71.97MB/s    0:00:14