correction de quelques fautes + reformulations

This commit is contained in:
Jérémy Lecour 2018-01-01 16:19:20 +01:00
parent 86f536ab4c
commit 1c92a0e4c8

View file

@ -3,7 +3,7 @@ title: Howto Rsync
categories: network 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://rsync.samba.org/](https://rsync.samba.org/)
* [https://fr.wikipedia.org/wiki/Rsync](https://fr.wikipedia.org/wiki/Rsync) * [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 ## Installation
~~~ ~~~
# apt install rync # apt install rsync
$ rsync --version $ rsync --version
rsync version 3.1.2 protocol version 31 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/ $ rsync --recursive /tmp/bar example.com:/tmp/
un-fichier1.txt un-fichier2.txt
~~~ ~~~
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 : Liste des paramètres les plus communs :
~~~ * `-n`, `--dry-run` = les actions ne sont pas réalisées, juste listées
-n = "Test si la copie peut se faire" * `-z`, `--compress` = compresse les fichiers pour accélerer le transfer
-z = "compression" * `-v`, `--verbose` : mode verbeux
-v = "mode verbeux" * `-q`, `--quiet` : pas de sortie en stdout
-q = "quiet -> pas de sortie en stdout" * `-h`, `--human-readable` : les infos sont lisibles par un humain
-h = "les infos sont lisible par un humain" * `-d`, `--dirs` : Copie les dossiers sans avoir besoin de lui indiquer qu'il faut le faire récursivement
-d = "Copie les dossiers sans avoir besoin de lui indiquer qu'il faut le faire récursivement"
~~~
## Commandes avancées ## Commandes avancées
* `-4`, `--ipv4` : Utiliser une connexion IPv4
~~~ * `-6`, `--ipv6` : Utiliser une connexion IPv6
-4 = "Utiliser une connexion ipv4" * `-P`, `--progress` : suivre la progression du transfère d'un fichier
-6 = "Utiliser une connexion ipv6" * `-r`, `--recursive` : Mode récursif
-P = "suivre la progression du transfère d'un fichier" * `-a`, `--archive` : archive, repecter les liens symboliques
-r = "Mode récursif" * `--delete` : supprimer les données distantes qui sont absentes depuis la source
-a = "archive, repecter les liens symboliques" * `-e` : pour exécuter une commande shell
--delete = "supprimer les données distantes qui sont absentes depuis la source"
-e = "pour exécuter une commande shell"
~~~
Exemples : 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/" 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"` 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"`