====== rsync : synchronisation de dossiers ======
* Objet : Prise en main de rsync, outil de synchronisation/sauvegarde
* Niveau requis : {{tag>débutant avisé}}
* Commentaires : //Vous voulez héberger votre site web sur votre machine perso et être accessible via un nom de domaine. //
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-)
* Suivi : {{tag>à-compléter}}
* Création par [[user>smolski]] le 09/07/10
* Testé par [[user>deuchdeb]] le <12/03/2015>
* Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=122564#p122564|ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
===== Introduction =====
''rsync'' est un outil qui permet de __sauvegarder par copies vos données__.
Il copie tous les fichiers ''sources'' vers la ''destination'' que vous avez choisie. \\
Ensuite, il ne mettra à jour que ceux qui ont été modifiés ou ajoutés. D'où un gain de temps.\\
De plus, ''rsync'' peut aussi être utilisé //à travers un réseau//.
== Nota ==
Lien de test cp mv et rsync sur le forum :
* [[https://debian-facile.org/viewtopic.php?pid=252419#p252419]]
===== Installation =====
apt-get update && apt-get install rsync
===== Utilisation =====
==== Syntaxe de base ====
rsync [option] /source /destination
=== Deux exemples : ===
----
Copie intégralement le fichier ou le répertoire ''source'' et son contenu vers ''destination''
rsync -av /source /destination
\\
----
Copie seulement le contenu du répertoire ''source'' dans ''destination''
rsync -av /source/ /destination
Copie les fichiers avec leurs dossiers en préservant leurs propriétés respectives. \\
En root bien sûr :
rsync -r -avz /source/ /destination
Lors d'un téléchargement distant par ssh, en cas de coupure, reprendre le transfert avec la commande :
rsync --partial --progress --rsh=ssh [source] [user]@[host]:[destination]
Exemple:
rsync --partial --progress --rsh=ssh fichier nom_user@hostName:/repertoire_receveur/
Les options :
* -%%-%%**partial** relance le téléchargement depuis le point d’arrêt
* -%%-%%**progress** affiche la progression du transfert
* -%%-%%**rsh=ssh** sécurise le transfert
==== Tableau des options ====
^ //OPTIONS// ^ //ACTION// ^
| -r | visite récursive des répertoires |
| -l | copie les liens symboliques comme liens symboliques |
| -p | préserve les permissions |
| -t | préserve les dates |
| -g | préserve le groupe |
| -o | préserve le propriétaire (root uniquement) |
| -D | préserve les périphériques (root uniquement) |
| -a | mode archivage; identique à -rlptgoD (pas -H) |
| -v | De nombreuses informations sont affichées lors du transfert. |
| -z | Compresse le fichier pour un meilleur transfert par le reseau. |
| --delete | ATTENTION ! Si le fichier (ou son contenu) n'existe plus dans "source", il sera supprimé dans "destination". |
Il est possible de créer des scripts pour automatiser le processus de sauvegarde.\\
Voir dans Liens externes.
==== Exemple de sauvegarde de son répertoire utilisateur vers un disque externe ====
rsync -r -t -x -v -n --progress -l -s --filter "- /.cache/" --filter "- /.thumbnails/" --filter "+ jeVeuxCeluiCi.txt" /home/utilisateur/ /media/DisqueExterne/repertoire_sauvegarde/ | more
-S, traite les fichiers à trous efficacement
-x, ne traverse pas les limites du système de fichiers
-n, simule la sauvegarde sans ne rien faire réellement
--progress affiche la progression
--filter permet de désigner les dossiers que l'on ne veut pas sauvegarder (signe -) ou que l'on veut
ajouter à la liste (signe +)
Le fait d'ajouter **|more** à la fin de la commande permet de faire défiler manuellement et de voir se qui va se passer en appuyant sur la touche espace
Une fois que vous avez vu le résultat de la commande et que cela vous va, enlevez **-n** et **| more** et appuyez sur entrée, la sauvegarde se fait pour de vrai. 8-)
rsync -r -t -x -v --progress -l -s --filter "- /.cache/" --filter "- /.thumbnails/" /home/utilisateur/ /media/DisqueExterne/repertoire_sauvegarde/
===== Les interfaces graphiques pour rsync =====
* grsync: une interface simple et conviviale pour tout le monde.
* luckybackup: A partir de squeeze uniquement.
===== Liens externes =====
* [[http://www.delafond.org/traducmanfr/man/man1/rsync.1.html|Rsync (man) en français.]]
* [[http://www.mathrice.org/rencontres/mars.2007/presentations/rsync-unison.pdf| Présentation de rsync et unison.pdf]]
* [[http://genma.free.fr/article.php3?id_article=255| Grsync un rsync en mode graphique.]]
* [[http://wiki.debian.org/fr/RsyncSnapshots| Exemple pour automatiser le fonctionnement de rsync.]]
* [[http://wiki.mandriva.com/fr/Sauvegarder_avec_rsync| Autre exemple d'automatisation du fonctionnement de rsync.]]
===== Liens vers forum df =====
* [[https://debian-facile.org/viewtopic.php?pid=160765#p160765 | Démarrer un backup là où il est déjà rendu. [Abandonné]]]