Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
rsync [Le 31/05/2024, 17:20]
86.202.209.181 [Inclure des fichiers]
rsync [Le 15/05/2025, 15:19] (Version actuelle)
krodelabestiole mise en forme / +rclone +rsnapshot / réorganisation / màj
Ligne 1: Ligne 1:
 {{tag>​sauvegarde synchronisation}} {{tag>​sauvegarde synchronisation}}
- 
----- 
  
 ====== rsync ====== ====== rsync ======
  
 ===== Présentation ===== ===== Présentation =====
-**rsync** (pour **r**emote **sync**hronization ou synchronisation à distance) est un logiciel ((sous licence **[[wpfr>​Licence_publique_générale_GNU|GNU GPL]]**)) de synchronisation de fichiers. Il est fréquemment utilisé pour mettre en place des systèmes de [[:​sauvegarde]] distante ou des [[points_de_restauration_pour_un_systeme_linux|points de restauration]] du système (via l'​interface [[timeshift|Timeshift]]). 
  
-rsync travaille de manière unidirectionnelle c'​est-à-dire qu'il synchronise,​ copie ou actualise les données d'une source ​(locale ​ou distantevers une destination ​(locale ou distanteen ne transférant que les octets des fichiers ​qui ont été modifiés. +**[[wpfr>​rsync]]**(([[https://​github.com/​RsyncProject/​rsync|GitHub]])) (pour //​**r**emote **sync**hronization// ​ou synchronisation à distanceest une application ​((sous licence **[[wpfr>​Licence_publique_générale_GNU|GNU GPL]]**)) de synchronisation de fichiers en [[:commande ​shell|ligne ​de commande]]. Il est parfois utilisé pour mettre en place des systèmes de [[:​sauvegarde|sauvegardes]] distantes ou des [[:​points_de_restauration_pour_un_systeme_linux|points de restauration]] du système (par exemple via l'outil [[:​rsnapshot]] ou l'​interface [[:​Timeshift]]).
-<note help>La notion d’unidirectionnalité semble souvent mal comprise : elle signifie qu'en une commande, la synchronisation ne peut se faire que dans un sens. Rien n'​empêche ensuite ​de relancer la commande ​une seconde fois dans l'autre sens !</​note>​+
  
-D'un point de vue de l'entreprise, un [[:​tutoriel:​serveur_de_synchronisation_avec_rsync|serveur de synchronisation]] ​est utile pour centraliser ​les sauvegardes sur une même machine équipée accessoirement ​d'​un ​enregistreur de bande.+**rsync** travaille ​de manière unidirectionnelle c'est-à-dire qu'il synchronise,​ copie ou actualise ​les données d'une source (locale ou distante) vers une destination (locale ou distante) en ne transférant que les octets des fichiers qui ont été modifiés. 
 +<note help>La notion ​d’unidirectionnalité semble parfois mal comprise : elle signifie qu'en une commande, la synchronisation ne peut se faire que dans un sensRien n'​empêche ensuite de lancer une autre commande pour effectuer l'​opération dans l'​autre sens !</​note>​
  
-Pour le particulier, ​il est intéressant (si vous avez plusieurs machines), ​d'avoir une sauvegarde simple et rapide ​de son //Dossier Personnel//\\+En particulier ​pour une entrepriseun [[:​tutoriel:​serveur_de_synchronisation_avec_rsync|serveur de synchronisation]] ​est utile pour centraliser les sauvegardes sur une même machine équipée accessoirement ​d'un enregistreur ​de bande.
  
-Ici nous verrons son utilisation basique. ​Pour plus de détailsallez voir ce [[tutoriel:sauvegarder_home_avec_rsync|tutoriel : "​Sauvegarder "/​home"​ avec rsync"]].+Pour un particulier habitué à la [[:commande shell|ligne ​de commande]], il est intéressant (si vous avez plusieurs machines)d'​avoir une [[:sauvegarde]] simple et rapide de son //Dossier Personnel//.
  
-Pour les personnes qui n’aiment pas la ligne de commande, ​**il existe ​une interface graphique ​à rsync [[grsync|Grsync]] ​!!**+Ici nous verrons son utilisation basique. Pour plus de détails, allez voir ce tutoriel : //​[[:​tutoriel:​sauvegarder_home_avec_rsync|Sauvegarder "/​home"​ avec rsync]]//​. 
 + 
 +Pour les personnes qui n’aiment pas la ligne de commande, il existe ​des interfaces graphiques ​à **rsync**, telles que [[:Grsync]].
  
 ===== Utilisation ===== ===== Utilisation =====
 +
 Comme l'​indique le manuel : Comme l'​indique le manuel :
  
-"rsync est un programme très similaire à rcp, mais possède bien plus d'​options et utilise le protocole de mise à jour à distance rsync afin d'​accélérer significativement le transfert de fichiers lorsque le fichier de destination existe déjà."​+"//**rsync** est un programme très similaire à **rcp**, mais possède bien plus d'​options et utilise le protocole de mise à jour à distance ​**rsync** afin d'​accélérer significativement le transfert de fichiers lorsque le fichier de destination existe déjà.//"
  
 L'​appel de base : L'​appel de base :
 <code bash>​rsync source/ destination/</​code>​ <code bash>​rsync source/ destination/</​code>​
  
-En __local__, pour une copie/​synchro de votre répertoire vidéo vers un disque dur externe (de sauvegarde) [[montage|monté]] dans **/​media/​$USER/​**,​ cela donne :+En **local**, pour une copie/​synchro de votre répertoire vidéo vers un disque dur externe (de sauvegarde) [[montage|monté]] dans **/​media/​$USER/​**,​ cela donne :
 <code bash>​rsync -av /​home/​$USER/​Vidéos/​ /​media/​$USER/​film_music/​Vidéos/</​code>​ <code bash>​rsync -av /​home/​$USER/​Vidéos/​ /​media/​$USER/​film_music/​Vidéos/</​code>​
-L'​option ​"**v**" ​affiche les fichiers sauvegardés au fur et à mesure. Pour l'​option ​"**a**", voir plus bas. +L'​option ​''​-v'' ​affiche les fichiers sauvegardés au fur et à mesure. Pour l'​option ​''​-a''​, voir plus bas. 
-//$USER// est la variable d’environnement système qui permet d'​accéder au nom d’utilisateur de la session en cours.\\+''​$USER'' ​est la variable d’environnement système qui permet d'​accéder au nom d’utilisateur de la session en cours.\\
 Vous pouvez relancer cette commande à chaque nouvelle synchro, seuls les nouveaux fichiers seront synchronisés. Vous pouvez relancer cette commande à chaque nouvelle synchro, seuls les nouveaux fichiers seront synchronisés.
  
-En __réseau__, **rsync** utilise [[SSH]] par défaut. Un exemple :+En **réseau**, **rsync** utilise [[SSH]] par défaut. Un exemple :
 <code bash>​rsync -az source/ login@serveur.org:/​destination/</​code>​ <code bash>​rsync -az source/ login@serveur.org:/​destination/</​code>​
 où: où:
-  * //-a// ou //%%--%%archive// : est un moyen rapide de dire que vous voulez la récursivité et préserver pratiquement tout. La seule exception est que si //%%--%%files-from// a été spécifiée alors //-r// n'est pas utilisée. Ceci est équivalent à //-rlptgoD//+  * ''​-a'' ​ou ''​%%--%%archive'' ​: est un moyen rapide de dire que vous voulez la récursivité et préserver pratiquement tout. La seule exception est que si ''​%%--%%files-from'' ​a été spécifiée alors ''​-r'' ​n'est pas utilisée. Ceci est équivalent à ''​-rlptgoD''​
-  * //-z// ou //%%--%%compress// : compresse les données lors du transfert. (Limite la bande passante mais augmente l'​utilisation processeur et le temps de transfert : inutile en réseau local ou avec très bon débit)+  * ''​-z'' ​ou ''​%%--%%compress'' ​: compresse les données lors du transfert. (Limite la bande passante mais augmente l'​utilisation processeur et le temps de transfert : inutile en réseau local ou avec très bon débit)
  
 <note important>​ <note important>​
Ligne 62: Ligne 62:
 </​code>​ </​code>​
 </​note>​ </​note>​
 +
 ==== Créer un dossier miroir ==== ==== Créer un dossier miroir ====
-Voici un exemple d'une commande, utilisant le protocole [[SSH]], qui copie à l'​identique le dossier <​source>​ vers le dossier <​destination>​.+ 
 +Voici un exemple d'une commande, utilisant le protocole [[:SSH]], qui copie à l'​identique le dossier <​source>​ vers le dossier <​destination>​.
  
 Copie du dossier source vers le serveur : Copie du dossier source vers le serveur :
Ligne 69: Ligne 71:
 <code bash>​rsync -e ssh -avz --delete-after /​home/​source user@ip_du_serveur:/​dossier/​destination/</​code>​ <code bash>​rsync -e ssh -avz --delete-after /​home/​source user@ip_du_serveur:/​dossier/​destination/</​code>​
 où : où :
-  * //<​nowiki>​--</​nowiki>​delete-after// : à la fin du transfert, supprime les fichiers dans le dossier de destination ne se trouvant pas dans le dossier source. +  * ''​%%--%%delete-after'' ​: à la fin du transfert, supprime les fichiers dans le dossier de destination ne se trouvant pas dans le dossier source. 
-  * //-z// : compresse les fichiers ​ (Limite la bande passante mais augmente l'​utilisation processeur et le temps de transfert : inutile en réseau local ou avec très bon débit) +  * ''​-z'' ​: compresse les fichiers ​ (Limite la bande passante mais augmente l'​utilisation processeur et le temps de transfert : inutile en réseau local ou avec très bon débit) 
-  * //-v// : verbeux +  * ''​-v'' ​: verbeux 
-  * //-e ssh// : utilise le protocole [[SSH]]+  * ''​-e ssh'' ​: utilise le protocole [[:SSH]]
  
 Si les noms des chemins contiennent des espaces, on peut les écrire entre guillemet pour échapper les espaces : Si les noms des chemins contiennent des espaces, on peut les écrire entre guillemet pour échapper les espaces :
Ligne 84: Ligne 86:
 </​note>​ </​note>​
  
-Avec l'​option ​//-n// la commande liste ce qu'​elle va faire sans l'​exécuter :+Avec l'​option ​''​-n'' ​la commande liste ce qu'​elle va faire sans l'​exécuter :
 <code bash>​rsync -e ssh -avzn --delete-after /​home/​mondossier_source user@ip_du_serveur:/​dossier/​destination/</​code>​ <code bash>​rsync -e ssh -avzn --delete-after /​home/​mondossier_source user@ip_du_serveur:/​dossier/​destination/</​code>​
  
 ==== Exclure des fichiers ==== ==== Exclure des fichiers ====
-On peut exclure des fichiers/​dossiers selon beaucoup de schémas. C'est utile pour ne pas sauvegarder le cache, les fichiers temporaires,​ le répertoire ​//.git//, la corbeille, etc…+ 
 +On peut exclure des fichiers/​dossiers selon beaucoup de schémas. C'est utile pour ne pas sauvegarder le cache, les fichiers temporaires,​ le répertoire ​''​.git''​, la corbeille, etc…
  
 L'​exclusion d'un dossier est identique à l'​exclusion d'un fichier : il suffit d'​indiquer le chemin d'​accès relatif au répertoire source. L'​exclusion d'un dossier est identique à l'​exclusion d'un fichier : il suffit d'​indiquer le chemin d'​accès relatif au répertoire source.
  
   * Liste dans la commande : <code bash>​rsync --exclude="​nom_de_dossier"​ --exclude="​- autre_nom_de_dossier"​ source/ destination/</​code>​   * Liste dans la commande : <code bash>​rsync --exclude="​nom_de_dossier"​ --exclude="​- autre_nom_de_dossier"​ source/ destination/</​code>​
-  * Liste  entre accolades. Les répertoires ou les fichiers sont traités de la même façon, par leur nom.  Ici, **.cache** est un répertoire,​ mais **.tmp** est l'​ensemble des fichiers temporaires <code bash>​rsync -av --exclude={'​Musique','​Vidéos','​.cache','​flatpak','​Trash','​*.tmp','​Bureau'​} source/ destination/</​code>​+  * Liste  entre accolades. Les répertoires ou les fichiers sont traités de la même façon, par leur nom.  Ici, **.cache** est un répertoire,​ mais **.tmp** est l'​ensemble des fichiers temporaires ​(en cas d'​appel de ce script via l'​interpréteur,​ il faut ici utiliser **bash -c** au lieu de **sh -c**, car les accolades sont propres au bash) <code bash>​rsync -av --exclude={'​Musique','​Vidéos','​.cache','​flatpak','​Trash','​*.tmp','​Bureau'​} source/ destination/</​code>​
   * Un fichier de règles d'​exclusion <code bash>​rsync --exclude-from=ExclusionRSync source/ destination/​ </​code>​\\ Et le fichier ExclusionRSync dans le dossier courant sera de cette forme : <code bash>tmp   * Un fichier de règles d'​exclusion <code bash>​rsync --exclude-from=ExclusionRSync source/ destination/​ </​code>​\\ Et le fichier ExclusionRSync dans le dossier courant sera de cette forme : <code bash>tmp
 .Trash .Trash
Ligne 101: Ligne 104:
  
 ==== Inclure des fichiers ==== ==== Inclure des fichiers ====
-Dès lors qu'on exclut, il peut être nécessaire d'​inclure.\\ + 
-Attention, ​**--include** ne s'​utilise qu'​avec ​**--exclude**, et n'est qu'une exception à ce dernier (qui doit __toujours__ ​suivre le **--include**). +Dès lors qu'on exclut, il peut être nécessaire d'​inclure. 
-Exemple, vous souhaitez ne synchroniser qu'un type de fichier, mettons des .csv, cela donne+ 
 +Attention, ​''​%%--%%include'' ​ne s'​utilise qu'​avec ​''​%%--%%exclude''​, et n'est qu'une exception à ce dernier (qui doit //​toujours// ​suivre le ''​%%--%%include''​).\\ 
 +Exemple, vous souhaitez ne synchroniser qu'un type de fichier, mettons des ''​.csv''​, cela donne :
 <code bash>​rsync --include="​*.csv"​ --exclude="​*"​ source/ destination/</​code>​ <code bash>​rsync --include="​*.csv"​ --exclude="​*"​ source/ destination/</​code>​
  
-Cette commande se lit ainsi : exclure tout (c'est le caractère *) de ce qui est dans **source/** SAUF les fichiers ​**.csv**, qui seront donc les seuls à être copiés.+Cette commande se lit ainsi : exclure ​**tout** (c'est le caractère ​''​*''​) ce qui est dans ''​source/''​ //​sauf// ​les fichiers ​''​.csv''​, qui seront donc les seuls à être copiés.
  
-Cette commande copie 3 répertoires (et leur contenu) depuis le répertoire ​**/user/**. les autres répertoires ou fichiers ne sont pas transférés.+La commande ​suivante ​copie 3 répertoires (et leur contenu) depuis le répertoire ​''​/user/''​. les autres répertoires ou fichiers ne sont pas transférés.
 <code bash>​rsync -av --include={'​Documents/​***','​Images/​***','​snap/​***'​} --exclude=* /home/user/ destination/</​code>​ <code bash>​rsync -av --include={'​Documents/​***','​Images/​***','​snap/​***'​} --exclude=* /home/user/ destination/</​code>​
-Le caractère générique ** *** ** est fondamental pour les répertoires dans le **--include**. Il indique que le **--include** ne vaut pas que pour le répertoire,​ mais aussi pour tout ce qu'il contient. Sans lui, c'est un répertoire vide qui est transféré. 
-==== Quelques options ==== 
-De nombreuses options existent (voir [[http://​www.delafond.org/​traducmanfr/​man/​man1/​rsync.1.html|ici]]),​ en voici quelques unes : \\ 
  
-**-a** : archive => préserve les dates, permissions,​ etc ... des fichiers. Inclut l'option récursivité. Option à utiliser quand on veut transférer des répertoires entiers avec leurs sous-répertoires en préservant toutes les caractéristiques des fichiers.\\ +Le caractère générique ''​%%***%%'' (3 étoiles) ​est fondamental pour les répertoires dans le ''​%%--%%include'​'. Il indique ​que le ''​%%--%%include'' ​ne vaut pas que pour le répertoiremais aussi pour tout ce qu'il contientSans luic'est un répertoire vide qui est transféré.
-**-r** : la synchro ​est récursive (elle prend les sous-répertoires). Est inclus ​dans l'option **-a**\\ +
-**-v** : verbeux (affichage de ce que fait la commande pendant qu'elle le fait).\\ +
-**-l** : copie les liens symboliques comme liens symboliques. Est inclus dans l'​option **-a**\\ +
-**-L** : remplace les liens symboliques par les fichiers référencés.\\ +
-**%%--%%remove-sent-files** : les fichiers envoyés sont __supprimés__ de chez l'émetteur. Il ne s'agit donc plus de faire une synchro mais bien de faire un __transfert__.\\ +
-**%%--%%delete** : efface sur la cible les fichiers qui ont disparu du répertoire de départ. Option très importante qui permet d'​être sûr que la copie est identique à l'original. Mais si on se trompe sur l'original, on perd la copie.\\ +
-**%%--%%exclude=MOTIF** : exclut de la synchro les fichiers correspondant au MOTIF (par exemple ***.txt** pour exclure les fichiers avec l'extension **.txt**).\\ +
-**-z** : comprime les fichiers pendant le transfert. N'a d’intérêt ​que pour des transferts à travers des réseauxcar sinon la compression / décompression fait perdre du temps. +
-==== Interface graphique : Grsync ou Timeshift ==== +
-Les logiciels graphiques utilisant **rsync** sont assez nombreux. Certains font plutôt de la sauvegarde du systèmede la sauvegarde de données, de la pure synchronisation,​ ....+
  
-Dans les [[:​dépôts]] vous trouverez notamment le logiciel [[Grsync]] qui offre une interface graphique pour rsync, plutôt dans une logique de synchronisation. Voir aussi [[:​tutoriel:​sauvegarder_home_avec_grsync|ce tutoriel pour sauvegarder tout son home avec Grsync]].+==== Quelques options ====
  
-Depuis la version 20.04 d'​Ubuntu,​ on trouve aussi dans les dépôts le logiciel ​[[timeshift|Timeshift]], qui utilise rsync pour créer ​des [[points_de_restauration_pour_un_systeme_linux|points de restauration]] du système d'exploitation et des logiciels, ​dans une logique similaire à celle du //​TimeMachine// ​de MacOs+De nombreuses options existent (voir [[https://​www.delafond.org/​traducmanfr/​man/​man1/​rsync.1.html|ici]])en voici quelques unes : 
- +  * ''​-a''​ : archive => préserve les dates, permissions,​ etc ... des fichiers. Inclut l'option récursivité. Option à utiliser quand on veut transférer ​des répertoires entiers avec leurs sous-répertoires en préservant toutes les caractéristiques des fichiers. 
-[[backintime|BackInTime]] utilise aussi rsync pour prendre ses snapshots+  * ''​-r''​ : la synchro est récursive (elle prend les sous-répertoires). Est inclus ​dans l'​option ''​-a''​ 
- +  * ''​-v''​ : verbeux (affichage ​de ce que fait la commande pendant qu'​elle le fait)
-[[http://luckybackup.sourceforge.net/|LuckyBackup]] utilise aussi rsync pour ses sauvegardes. +  * ''​-l''​ : copie les liens symboliques comme liens symboliques. Est inclus dans l'​option ''​-a''​ 
- +  * ''​-L''​ : remplace les liens symboliques par les fichiers référencés
-Idem pour [[https://korben.info/cronopete-clone-de-time-machine-linux.html|cronopete]] (qui n'​est ​pas dans les dépôts)+  * ''​%%--%%remove-sent-files'' ​les fichiers envoyés sont //supprimés// de chez l'​émetteurIl ne s'agit donc plus de faire une synchro mais bien de faire un //transfert//. 
- +  * ''​%%--%%delete''​ : efface sur la cible les fichiers qui ont disparu du répertoire ​de départOption très importante ​qui permet d'être sûr que la copie est identique à l'​original. Mais si on se trompe sur l'​original,​ on perd la copie
-Voir aussi la page [[:sauvegarde]] pour trouver d'autres interfaces graphiques. +  * ''​%%--%%delete-after''​ : idem option précédente,​ mais fait l'​effacement à la fin du transfert. Surtout intéressant avec l'​option ''​-v''​ ('​verbeux'​) ​les fichiers effacés sont plus clairement affichés à la fin, et pas dispersés dans l'ensemble des retours écran
-===== Tutoriel ===== +  * ''​%%--%%exclude=MOTIF'' ​exclut ​de la synchro les fichiers correspondant au MOTIF (par exemple ''​*.txt''​ pour exclure les fichiers ​avec l'extension ''​.txt''​). 
-  * [[:tutoriel:​sauvegarder_home_avec_rsync|Sauvegarde ​de "/​home"​ avec rsync]] ou avec l'interface graphique [[:​tutoriel:​sauvegarder_home_avec_grsync|Grsync]] +  * ''​-z'' ​compresse les fichiers pendant le transfert. N'a d’intérêt que pour des transferts à travers des réseaux, car sinon la compression / décompression fait perdre du temps.
-  * [[:tutoriel:​serveur_de_synchronisation_avec_rsync|Serveur de synchronisation avec rsync]]+
  
 ==== Sauvegarde distante du serveur web ==== ==== Sauvegarde distante du serveur web ====
  
 Cas présenté : Cas présenté :
-  * un serveur distant s'​exécutant sous le compte système www-data. +  * un serveur distant s'​exécutant sous le compte système ​''​www-data''​
-    * ce serveur est accessible via ssh+    * ce serveur est accessible via [[:SSH]]
     * on a un compte utilisateur pour se connecter sur ce serveur     * on a un compte utilisateur pour se connecter sur ce serveur
     * ce compte (ou un autre) a les droits d'​administration de la machine     * ce compte (ou un autre) a les droits d'​administration de la machine
   * une machine sur laquelle sauvegarder les données   * une machine sur laquelle sauvegarder les données
-    * on a un compte utilisateur avec le droit sudo+    * on a un compte utilisateur avec le droit [[:sudo]]
  
 Pour l'​exemple qui suit : Pour l'​exemple qui suit :
-  - sur la machine locale, on devient ​//www-data// pour travailler avec les droits de ce dernier +  - sur la machine locale, on devient ​''​www-data'' ​pour travailler avec les droits de ce dernier 
-  - www-data exécute la commande rsync qui va établir une connexion via ssh au serveur distant avec le compte //​utilisateur//​ (on peut avoir besoin de saisir le mot de passe de l'​utilisateur distant si on n'a pas déposé de clef publique) +  - ''​www-data'' ​exécute la commande ​''​rsync'' ​qui va établir une connexion via [[:​SSH]] ​au serveur distant avec le compte //​utilisateur//​ (on peut avoir besoin de saisir le mot de passe de l'​utilisateur distant si on n'a pas déposé de clef publique) 
-  - sur le serveur distant, via ssh, //​utilisateur//​ va lancer sudo pour devenir ​//www-data// +  - sur le serveur distant, via [[:SSH]], //​utilisateur//​ va lancer ​''​sudo'' ​pour devenir ​''​www-data''​ 
-  - //www-data// exécute la commande rsync qui échange les informations avec la machine locale+  - ''​www-data'' ​exécute la commande ​''​rsync'' ​qui échange les informations avec la machine locale
  
 Sur le serveur distant : Sur le serveur distant :
-  * Autoriser l'​utilisateur à lancer la commande rsync sous le compte système www-data ​grace à [[sudo]], ​__sans ​mot de passe__: <code bash>​sudo visudo</​code><​file>​utilisateurssh ALL=(www-data) NOPASSWD: /​usr/​bin/​rsync</​file>​ +  * Autoriser l'​utilisateur à lancer la commande ​''​rsync'' ​sous le compte système ​''​www-data''​ grâce ​à [[:sudo]], ​//​sans ​mot de passe// ​:<code bash>​sudo visudo</​code><​file>​utilisateurssh ALL=(www-data) NOPASSWD: /​usr/​bin/​rsync</​file>​ 
-  * Optionnel : déposer une clef publique ​ssh au besoin pour l'​utilisateur+  * Optionnel : déposer une clef publique ​[[:​SSH]] ​au besoin pour l'​utilisateur
  
 Sur la machine locale : Sur la machine locale :
   * Lancer une synchronisation en tant qu'​utilisateur www-data grace à [[sudo]]<​code bash>​sudo -u www-data rsync -a --progress -e ssh --rsync-path "sudo -u www-data rsync" utilisateur@serveur_distant:/​var/​www/​ /​var/​www/</​code>​   * Lancer une synchronisation en tant qu'​utilisateur www-data grace à [[sudo]]<​code bash>​sudo -u www-data rsync -a --progress -e ssh --rsync-path "sudo -u www-data rsync" utilisateur@serveur_distant:/​var/​www/​ /​var/​www/</​code>​
  
-[[https://​crashingdaily.wordpress.com/​2007/​06/​29/​rsync-and-sudo-over-ssh/​|Source de ce tutoriel]], adaptée pour le cas présenté+==== Interface graphique ​Grsync ou Timeshift ====
  
-===== Liens ===== +Les logiciels graphiques utilisant **rsync** sont assez nombreux. Certains font plutôt de la sauvegarde du système, de la sauvegarde de données, de la pure synchronisation... 
-  * [[grsync|Grsync]] : interface graphique à rsync. + 
-  * [[timeshift|Timeshift]] : interface graphique à rsync - prend des [[points_de_restauration_pour_un_systeme_linux|points de restauration]] du système. +  * Dans les [[:​dépôts]] vous trouverez notamment le logiciel **[[:​Grsync]]** qui offre une interface graphique pour **rsync**, plutôt dans une logique de synchronisation. Voir aussi [[:​tutoriel:​sauvegarder_home_avec_grsync|ce tutoriel]] pour sauvegarder tout son home avec **Grsync**. 
-  * **(en)** [[https://rsync.samba.org/|Site officiel]] +  * Depuis la version 20.04 d'​Ubuntu,​ on trouve aussi dans les dépôts le logiciel **[[:​Timeshift]]**,​ qui utilise **rsync** pour créer des [[points_de_restauration_pour_un_systeme_linux|points de restauration]] du système d'​exploitation et des logiciels, dans une logique similaire à celle du //​TimeMachine//​ de MacOs. 
-  * **(fr)** [[https://​man.developpez.com/​man1/​rsync/​|Le man de rsync en français]]« traduction de Denis Mertz, 2002. Mise à jour par Éric Piel <eric POINT piel AT tremplin-utc POINT net>, 2005. Relecture par Frédéric Delanoy et Julien Soula. » (extrait de développez.com,​ 2005) (Lien mort? [[http://​www.delafond.org/​traducmanfr/​man/​man1/​rsync.1.html|autre solution]], même contenu). +  * **[[:​BackInTime]]** utilise aussi **rsync** pour prendre ses //​snapshots//​. 
-  *  **(fr)** [[http://​www.it-connect.fr/​synchronisation-rsync-entre-windows-et-linux/​|Synchronisation Rsync entre Windows et Linux]] sur IT-Connect.fr ​Ainsi que ce [[https://​thedatafrog.com/​fr/​articles/​backup-rsync-windows-wsl/​|Lien]]+  * **[[http://​luckybackup.sourceforge.net/​|LuckyBackup]]** utilise aussi **rsync** pour ses sauvegardes. 
 +  * Idem pour **[[https://​korben.info/​cronopete-clone-de-time-machine-linux.html|cronopete]]** (qui n'est pas dans les dépôts). 
 + 
 +Voir aussi les pages //​[[:​synchronisation]]//​ et //​[[:​sauvegarde]]//​ pour trouver éventuellement d'​autres interfaces graphiques.\\ 
 +On peut aussi rechercher ''​rsync''​ dans le [[:snap store|Centre d'​applications]] ou sur [[:​gnome-software|GNOME Logiciels]],​ ainsi que sur [[https://​snapcraft.io/​store?​q=rsync|Snapcraft]] et [[https://​flathub.org/​apps/​search?​q=rsync|Flathub]]. 
 + 
 +===== Voir aussi ===== 
 + 
 +  ​* **(//en//)** [[https://​rsync.samba.org/​|Site officiel]] 
 +  * [[:Grsync]] : interface graphique à **rsync**
 +  * [[:Timeshift]] : interface graphique à **rsync** - prend des [[points_de_restauration_pour_un_systeme_linux|points de restauration]] du système. 
 +  * [[:rclone]] : une alternative à **rsync** plus performante et plus versatile, présentée comme //**rsync** pour les services ​[[:cloud]]//. 
 +  * [[:​rsnapshot]] : étend les fonctionnalités de **rsync** pour faciliter la création d'​instantanés (//​snapshot//​) et de [[:​sauvegardes]]. 
 +  * **(fr)** [[https://​man.developpez.com/​man1/​rsync/​|Le man de rsync en français]]((« traduction de Denis Mertz, 2002. Mise à jour par Éric Piel <eric POINT piel AT tremplin-utc POINT net>, 2005. Relecture par Frédéric Delanoy et Julien Soula. » (extrait de développez.com,​ 2005) (Lien mort? [[https://​www.delafond.org/​traducmanfr/​man/​man1/​rsync.1.html|autre solution]], même contenu).)) 
 +  *  **(fr)** ​//[[http://​www.it-connect.fr/​synchronisation-rsync-entre-windows-et-linux/​|Synchronisation Rsync entre Windows et Linux]]// sur IT-Connect.fr ​ainsi que //[[https://​thedatafrog.com/​fr/​articles/​backup-rsync-windows-wsl/​|Backup sous Windows avec rsync (WSL)]]// 
 + 
 +==== Tutoriels ==== 
 + 
 +  * [[:​tutoriel:​sauvegarder_home_avec_rsync|Sauvegarde de "/​home"​ avec rsync]] ou avec l'​interface graphique [[:​tutoriel:​sauvegarder_home_avec_grsync|Grsync]] 
 +  * [[:​tutoriel:​serveur_de_synchronisation_avec_rsync|Serveur de synchronisation avec rsync]] 
 + 
 +[[https://​crashingdaily.wordpress.com/​2007/​06/​29/​rsync-and-sudo-over-ssh/​|Source de ce tutoriel]], adaptée pour le cas présenté
  
 ---- ----
  
 // Contributeur : [[utilisateurs:​ostaquet]],​ [[utilisateurs:​jahwork]]//​ // Contributeur : [[utilisateurs:​ostaquet]],​ [[utilisateurs:​jahwork]]//​
  • rsync.1717168806.txt.gz
  • Dernière modification: Le 31/05/2024, 17:20
  • par 86.202.209.181