From 1c92a0e4c8578a590bfbc25e39d99cc87f58716a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lecour?= Date: Mon, 1 Jan 2018 16:19:20 +0100 Subject: [PATCH] correction de quelques fautes + reformulations --- HowtoRsync.md | 63 ++++++++++++++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/HowtoRsync.md b/HowtoRsync.md index 63535129..c14878db 100644 --- a/HowtoRsync.md +++ b/HowtoRsync.md @@ -3,7 +3,7 @@ title: Howto Rsync categories: network ... -Rsync (*Remote synchronization*) permet de réaliser des synchronisations distante à travers SSH. Cette méthode est unidirectionnelle où l'on peut effectuer des sauvegardes incrémentielles ou différentielles. +**rsync** permet de réaliser des copies et synchronisations, depuis ou vers un serveur distant, ou encore localement. **rsync** propose de nombreuses options pour configurer le comportement avant/pendant/après les transfers. * [https://rsync.samba.org/](https://rsync.samba.org/) * [https://fr.wikipedia.org/wiki/Rsync](https://fr.wikipedia.org/wiki/Rsync) @@ -12,55 +12,63 @@ Rsync (*Remote synchronization*) permet de réaliser des synchronisations distan ## Installation ~~~ -# apt install rync +# apt install rsync $ rsync --version rsync version 3.1.2 protocol version 31 ~~~ -## Premiers pas +## Utilisation de base -Admettons que l'on veut copier des données du serveur-A vers le serveur-B. +Copier un fichier `foo.txt` vers un serveur distant `example.com` : ~~~ -user@serveur-A:~$ rsync -vd mon-dossier serveur-B:/home/user/ +$ rsync /tmp/foo.txt example.com:/tmp/ ~~~ -Ainsi on retrouvera le dossier sur le serveur distant. +Copier tout un dossier vers un serveur distant, avec `-r` ou `--recursive` : ~~~ -user@serveur-B:~$ ls mon-dossier/ -un-fichier1.txt un-fichier2.txt +$ rsync --recursive /tmp/bar example.com:/tmp/ ~~~ +Copier un dossier depuis le serveur vers son poste : + +~~~ +$ rsync -r example.com:/tmp/bar /tmp/ +~~~ + +La synchronisation peut se faire localement : + +~~~ +$ rsync -r /tmp/bar/ /tmp/bar2/ +~~~ + + + Liste des paramètres les plus communs : -~~~ --n = "Test si la copie peut se faire" --z = "compression" --v = "mode verbeux" --q = "quiet -> pas de sortie en stdout" --h = "les infos sont lisible par un humain" --d = "Copie les dossiers sans avoir besoin de lui indiquer qu'il faut le faire récursivement" -~~~ +* `-n`, `--dry-run` = les actions ne sont pas réalisées, juste listées +* `-z`, `--compress` = compresse les fichiers pour accélerer le transfer +* `-v`, `--verbose` : mode verbeux +* `-q`, `--quiet` : pas de sortie en stdout +* `-h`, `--human-readable` : les infos sont lisibles par un humain +* `-d`, `--dirs` : Copie les dossiers sans avoir besoin de lui indiquer qu'il faut le faire récursivement ## Commandes avancées - -~~~ --4 = "Utiliser une connexion ipv4" --6 = "Utiliser une connexion ipv6" --P = "suivre la progression du transfère d'un fichier" --r = "Mode récursif" --a = "archive, repecter les liens symboliques" ---delete = "supprimer les données distantes qui sont absentes depuis la source" --e = "pour exécuter une commande shell" -~~~ +* `-4`, `--ipv4` : Utiliser une connexion IPv4 +* `-6`, `--ipv6` : Utiliser une connexion IPv6 +* `-P`, `--progress` : suivre la progression du transfère d'un fichier +* `-r`, `--recursive` : Mode récursif +* `-a`, `--archive` : archive, repecter les liens symboliques +* `--delete` : supprimer les données distantes qui sont absentes depuis la source +* `-e` : pour exécuter une commande shell Exemples : -*-e* : Faire un rsync sur une serveur distant, avec un port ssh particulier : +`-e` : Faire un rsync sur une serveur distant, avec un port ssh particulier : ~~~ user@serveur-A:~$ rsync -avn /home/user/ -e "ssh -p SSH_PORT" "user@serveur-B:/home/user/" @@ -81,4 +89,3 @@ rsync error: unexplained error (code 255) at io.c(601) [generator=3.0.7] ~~~ Cela peut venir dans certains cas d'un routeur coupant agressivement les sessions en cas d'inactivité. Dans ce cas, une solution est d'ajouter l'option suivante en Rsync Over SSH : `-e "ssh -o ServerAliveInterval=5"` -