Accueil > Linux > SAUVEGARDE DES DONNÉES > rsync
rsync
Publié le 15 septembre 2024, dernière mise-à-jour le 27 juin 2025, > 2 visites, >> 165987 visites totales.
rsync est un programme qui permet de copier des données d’un endroit à l’autre mais en ne copiant que les nouveaux fichiers avec des options comme :
- avoir une copie identique d’un dossier ( tous les fichiers et sous-dossiers seront identiques )
- ne par écraser les anciens fichiers, même s’ils ne sont pas identiques au nouveau
- ...
Imaginons un dossier Images contenant deux sous-dossiers oléron2024 , rouen2023 , rouen2024 avec des images ; on veut sauvegarder dans le dossier SauvegardeDeImages
- avoir une copie identique d’un dossier ( toutes les images et sous-dossiers seront identiques )
on tape
/usr/bin/rsync -r -t -p -o -g -v --progress -l -s --delete Images/ SauvegardeDeImages/
À chaque fois qu’on rajoutera une image ou un dossier dans Images, cette même commande marchera.
L’option --delete fait que si on enlève une image ou un dossier dans Images/ cela sera aussi enlevé dans SauvegardeDeImages/
- avoir une copie identique d’un dossier sans changer les anciens fichiers
/usr/bin/rsync -r -t -p -o -g -v --progress -l -s Images/ SauvegardeDeImages/
Comme au-dessus sauf que si on enlève un fichier ou un dossier dans Images/, il ne sera pas enlevé dans SauvegardeDeImages/ ; si on change une image , il ne sera pas changé dans SauvegardeDeImages/
- avoir une copie identique d’un dossier ( toutes les images et sous-dossiers seront identiques ) sauf le sous-dossier Images/PhotosACopierAilleurs/
/usr/bin/rsync -r -t -p -o -g -v --progress -l -s --delete --exclude=/PhotosACopierAilleurs Images/ SauvegardeDeImages/
– Noter qu’il faut un / AVANT le dossier
– On peut en mettre plusieurs à la suite
- avoir une copie identique d’un dossier ( toutes les images et sous-dossiers seront identiques ) mais sur un autre ordinateur , par ssh par exemple dans le dossier /media/sauvegarde/ :
/usr/bin/rsync -r -t -p -o -g -v --progress -l -s --delete Images/ machin@192.168.1.44:/media/sauvegarde/SauvegardeDeImages/
copier des dossiers en excluant certains dossiers
on crée un fichier /tmp/merge.txt ;
- on commence par inclure les dossiers ligne parligne en écrivant
+ dossier - on exclue les sousdossiers en écrivant
- dossier/machin - on lance la commande avec ces options ou d’autres :
rsync -aA -H --numeric-ids --progress --delete --filter="merge /tmp/merge.txt" DossierACopier/ Copie/
Options
-v : donne plus d’informations sur ce qui se passe
--progress : affiche la progression de la sauvegarde
-r : va chercher les sous-dossiers
-l : copy les symlinks comme des symlinks
-s : aide à ne pas faire d’erreur avec les caractères spéciaux mais peut être empĉhé si l’ordinateur en face est très restrictif sur la sécurité
-t : le fichier copié aura la même heure de modification que l’original ( sinon il prend l’heure de la sauvegarde )
-p : le fichier copié aura les mêmes permissions/autorisations de lecture,écriture que l’original ( sinon il prend un défaut, mais lequel ? )
-o : le fichier copié aura le même propriétaire que l’original ( sinon il prend l’utilisateur qui l’a fait et si c’est root, seul root y aura un vrai accès )
-g : le fichier copié aura le même groupe que l’original ( sinon il prend le groupe de l’utilisateur qui l’a fait ? et si c’est root, seul root y aura un vrai accès )
remarque : -r -l -p -t -g -o -D peut être remplacé par -a
plus d’options avec man rsync
voir aussi grsync : copie de dossier / disque à l’identique