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 [26-02-2012 08:58] – Page moved from edmc73:linux:rsync to linux:rsync edmc73 | linux:rsync [05-01-2021 14:04] (Version actuelle) – [Performance] edmc73 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ===== rsync ===== | + | ====== rsync ====== |
| - | ==== Serveur ==== | + | ===== 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 | ||
| Fichier de config de base à la con vite fait mal fait... | Fichier de config de base à la con vite fait mal fait... | ||
| Ligne 21: | Ligne 58: | ||
| - | ==== Client ==== | + | ===== Client |
| Ma commande sur la machine client pour sauvegarder | Ma commande sur la machine client pour sauvegarder | ||
| Ligne 43: | Ligne 80: | ||
| | | ||
| - | ==== Message d' | + | ===== Message d' |
| rsync: failed to set times on "/ | rsync: failed to set times on "/ | ||
| 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 | ||