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
Prochaine révision Les deux révisions suivantes
rsync [Le 24/05/2022, 14:20]
jcj [Créer un dossier miroir]
rsync [Le 23/03/2024, 12:44]
86.202.8.12
Ligne 1: Ligne 1:
- 
 {{tag>​sauvegarde synchronisation}} {{tag>​sauvegarde synchronisation}}
  
Ligne 7: Ligne 6:
  
 ===== 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** (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 distante) vers une destination (locale ou distante) en ne transférant que les octets des fichiers qui ont été modifiés. ​+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 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>​ <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>​
  
Ligne 19: Ligne 18:
  
 Pour les personnes qui n’aiment pas la ligne de commande, **il existe une interface graphique à rsync : [[grsync|Grsync]] !!** Pour les personnes qui n’aiment pas la ligne de commande, **il existe une interface graphique à rsync : [[grsync|Grsync]] !!**
 +
 ===== Utilisation ===== ===== Utilisation =====
 Comme l'​indique le manuel : Comme l'​indique le manuel :
Ligne 27: Ligne 27:
 <​code>​rsync source/ destination/</​code>​ <​code>​rsync source/ destination/</​code>​
  
-L'intérêt ​est une utilisation ​à travers le réseau. **rsync** utilise [[SSH]] par défaut. Un exemple :+En __local__, cela peut donner cela pour une copie/​synchro de votre répertoire vidéo vers un disque dur externe (de sauvegarde) [[montage|monté]] dans **/​media/​user/​** 
 +<​code>​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. 
 +//​user// ​est à remplacer par votre identifiant Ubuntu.\\ 
 +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 :
 <​code>​rsync -az source/ login@serveur.org:/​destination/</​code>​ <​code>​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)
Ligne 83: Ligne 89:
 ==== 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.
  
   * 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>​
Ligne 98: Ligne 106:
  
 ==== Quelques options ==== ==== Quelques options ====
-De nombreuses options existent (voir [[http://​www.delafond.org/​traducmanfr/​man/​man1/​rsync.1.html|ici]]),​ en voici quelques ​une : \\+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. ​Inclus ​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.\\+**-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.\\
 **-r** : la synchro est récursive (elle prend les sous-répertoires). Est inclus dans l'​option **-a**\\ **-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).\\ **-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** : 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.\\ **-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__.\\ +**%%--%%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 disparus ​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.\\ +**%%--%%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** : exclus ​de la synchro les fichiers correspondant au MOTIF (par exemple ***.txt** pour exclure les fichiers avec l'​extension **.txt**).\\+**%%--%%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éseaux, car sinon la compression / décompression fait perdre du temps. **-z** : comprime 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.
 ==== Interface graphique : Grsync ou Timeshift ==== ==== Interface graphique : Grsync ou Timeshift ====
  • rsync.txt
  • Dernière modification: Le 02/06/2024, 02:41
  • par 86.202.209.181