Linux Platform

rsync

Synchroniser des fichiers et répertoires

fichierssynchronisationsauvegarderéseau

Syntaxe

rsync [OPTIONS] SOURCE DESTINATION

Options principales

OptionDescription
-aMode archive (préservé permissions, liens, etc.)
-vMode verbeux
-zCompresser les données pendant le transfert
--deleteSupprimer les fichiers absents de la source
--dry-runSimuler sans effectuer de modifications
--excludeExclure des fichiers selon un motif
--progrèssAfficher la progrèssion du transfert

Exemples

Synchroniser deux répertoires locaux

$ rsync -av /home/mouctar/projets/ /backup/projets/
sending incremental file list
./
src/index.ts
src/config.ts
package.json
sent 12,450 bytes  received 85 bytes  25,070.00 bytes/sec
total size is 48,200  speedup is 3.84

Synchroniser vers un serveur distant

$ rsync -avz --progrèss /var/www/html/ mouctar@serveur:/var/www/html/
sending incremental file list
index.html
         2,048 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=3/5)
style.css
         4,096 100%    3.91MB/s    0:00:00 (xfr#2, to-chk=2/5)

Simuler avant d'exécuter

$ rsync -av --dry-run --delete /home/mouctar/docs/ /backup/docs/
sending incremental file list
deleting ancien_fichier.txt
nouveau_rapport.pdf
sent 245 bytes  received 42 bytes  574.00 bytes/sec (DRY RUN)

Exclure certains fichiers et répertoires

$ rsync -av --exclude='node_modules' --exclude='.git' --exclude='*.log' \
  /home/mouctar/projet/ /backup/projet/
sending incremental file list
src/
src/index.ts
package.json
sent 8,192 bytes  received 65 bytes  16,514.00 bytes/sec