Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
linux:rsync [06-03-2012 09:57] – edmc73 | linux:rsync [05-01-2021 14:04] (Version actuelle) – [Performance] edmc73 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== rsync ====== | ====== rsync ====== | ||
+ | |||
+ | ===== Usage courant ===== | ||
+ | |||
+ | Pour copier simplement des fichiers d'un serveur à l' | ||
+ | |||
+ | Pour copier un fichier ou dossier | ||
+ | |||
+ | rsync -avzP [SOURCE] [DESTINATION] | ||
+ | rsync -a /home/users toto@serveur:/ | ||
+ | rsync -avP tata@serveur:/ | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Ici seul l' | ||
+ | |||
+ | Si votre source contient des liens physiques (hard link), alors ajoutez l' | ||
+ | |||
+ | Si votre serveur de destination a un port ssh spécifique (ex: 2222) | ||
+ | rsync -avP -e "ssh -p 2222" user@serveur:/ | ||
+ | |||
+ | ===== Sous Windows ===== | ||
+ | |||
+ | Télécharger **cwRsync** => https:// | ||
+ | |||
+ | Parametrer les variables d' | ||
+ | |||
+ | 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 '':'' | ||
+ | |||
+ | Pour accèder au lecteur C:, il faut écrire ''/ | ||
+ | |||
+ | Exemple: | ||
+ | rsync -avi / | ||
===== 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: | ||
+ | |||
+ | Puis un jour on veut déplacer nos données sur la source et on synchronise | ||
+ | mv dossier/ | ||
+ | rsync -a dossier/ serveur: | ||
+ | Et là c'est le drame. Il retransfère le fichierB. | ||
+ | |||
+ | L' | ||
+ | |||
+ | cp -al dossier/ | ||
+ | rsync -aH dossier/ serveur: | ||
+ | rm dossier/ | ||
+ | rsync -aH --delete dossier/ serveur: | ||
+ | |||
+ | J' | ||
+ | |||
+ | 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, | ||
+ | |||
+ | ===== Performance ===== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | rsync est plus performant lorsque l'on utilise le daemon rsyncd | ||
+ | |||
+ | ===== Voir ce qui va être transféré ===== | ||
+ | |||
+ | rsync -nrv --ignore-existing source/ destination/ | ||
+ | |||
+ | * -n fait un dry run, n' | ||
+ | * -r pour le récursif | ||
+ | * -v pour le verbose | ||
+ | |||
+ | On passe tout ça dans xargs pour faire un ls -l sur chaque fichier |