Outils pour utilisateurs

Outils du site


linux:rsync (lu 30032 fois)

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
Dernière révision Les deux révisions suivantes
linux:rsync [04-04-2013 22:06]
127.0.0.1 modification externe
linux:rsync [12-04-2016 15:34]
edmc73
Ligne 1: Ligne 1:
 ====== rsync ====== ====== rsync ======
 +
 +===== Usage courant =====
 +
 +Pour copier simplement des fichiers d'un serveur à l'autre, vous pouvez utiliser **rsync** qui est plus rapide que **scp** et qui en plus permet de préserver les informations de propriétaire des fichiers.
 +
 +Pour copier un fichier ou dossier 
 +
 +  rsync -avzP [SOURCE] [DESTINATION]
 +  rsync -a /home/users toto@serveur:/sauvegarde/.
 +  rsync -avP tata@serveur:/var/archives/mysql.tar.gz /var/archive/.
 +
 +  * ''-a'' est le mode archive qui remplace les options ''-rlptgoD'' recursive / copie liens symboliques / copie les permissions / copie la date et heure / copie le groupe / copie le propriétaire / copie les fichiers spéciaux
 +  * ''-v'' est le mode verbeux 
 +  * ''-z'' permet la compression pour utiliser moins de bande passante
 +  * ''-P'' permet d'afficher la progression de transfert
 +
 +Ici seul l'option ''-a'' est importante.
 +
 +Si votre source contient des liens physiques (hard link), alors ajoutez l'option ''-H''
 +
 +Si votre serveur de destination a un port ssh spécifique (ex: 2222)
 +  rsync -avP -e "ssh -p 2222" user@serveur:/path/to/files/ /local/path/
 +
 +===== Sous Windows =====
 +
 +Télécharger **cwRsync** => https://www.itefix.net/cwrsync#
 +
 +Parametrer les variables d'environnement, lancer dans un terminale le script cwrsync.cmd
 +
 +  c:\Program Files\cwRsync\cwrsync.cmd
 +
 +Comme **rsync** est un programme unix à la base, on ne peut pas spécifier un chemin avec c:\ car les caractères '':'' et ''\'' seront interprétés pour autre chose.
 +
 +Pour accèder au lecteur C:, il faut écrire ''/cygdrive/c'' et remplacer les back slash par des slashs
 +
 +Exemple:
 +  rsync -avi /cygdrive/c/work/ /cygdrive/d/work/doc/
  
 ===== Serveur ===== ===== Serveur =====
Ligne 49: Ligne 86:
 Pour résoudre ce problème, j'ai simplement fait un  Pour résoudre ce problème, j'ai simplement fait un 
   chown nobody.nogroup repertoire_de_sauvegarde   chown nobody.nogroup repertoire_de_sauvegarde
-  + 
 +===== Déplacement de gros volume avant un rsync ===== 
 + 
 +Initialement pour synchroniser on lance la commande 
 +  rsync -a dossier/ serveur:dossier/ 
 + 
 +Puis un jour on veut déplacer nos données sur la source et on synchronise 
 +  mv dossier/fichierA dossier/fichierB 
 +  rsync -a dossier/ serveur:dossier/ 
 +Et là c'est le drame. Il retransfère le fichierB. 
 + 
 +L'astuce c'est d'utiliser l'équivalence entre ''mv a b'' et ''ln a b; rm a'', mais on va rajouter un rsync entre les deux. 
 + 
 +  cp -al dossier/fichierA dossier/fichierB 
 +  rsync -aH dossier/ serveur:dossier/ 
 +  rm dossier/fichierA 
 +  rsync -aH --delete dossier/ serveur:dossier/ 
 + 
 +J'utilise ''cp -al'' et non ''ln'', car ça permet de conserver les permissions et de faire le machin recursivement pour un répertoire si c'est un répertoire qui est bougé. 
 + 
 +Et comme ça, ça passe très bien, il détecte que fichierA et fichierB sont des hard link, il crée fichierB comme un hard link sur fichierA dans la destination, et à l'étape suivante il supprime fichierA. 
 + 
 +===== Performance ===== 
 + 
 +https://icesquare.com/wordpress/how-to-improve-rsync-performance/ 
 + 
 +rsync est plus performant lorsque l'on utilise le daemon rsyncd
  
linux/rsync.txt · Dernière modification: 05-01-2021 15:04 de edmc73