85 lines
2.3 KiB
Markdown
85 lines
2.3 KiB
Markdown
---
|
|
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.
|
|
|
|
* [https://rsync.samba.org/](https://rsync.samba.org/)
|
|
* [https://fr.wikipedia.org/wiki/Rsync](https://fr.wikipedia.org/wiki/Rsync)
|
|
|
|
|
|
## Installation
|
|
|
|
~~~
|
|
# apt install rync
|
|
|
|
$ rsync --version
|
|
rsync version 3.1.2 protocol version 31
|
|
~~~
|
|
|
|
## Premiers pas
|
|
|
|
Admettons que l'on veut copier des données du serveur-A vers le serveur-B.
|
|
|
|
~~~
|
|
user@serveur-A:~$ rsync -vd mon-dossier serveur-B:/home/user/
|
|
~~~
|
|
|
|
Ainsi on retrouvera le dossier sur le serveur distant.
|
|
|
|
~~~
|
|
user@serveur-B:~$ ls mon-dossier/
|
|
un-fichier1.txt un-fichier2.txt
|
|
~~~
|
|
|
|
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"
|
|
~~~
|
|
|
|
|
|
## 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"
|
|
~~~
|
|
|
|
Exemples :
|
|
|
|
*-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/"
|
|
~~~
|
|
|
|
## FAQ
|
|
|
|
### connection unexpectedly closed
|
|
|
|
Si l'on obtient un erreur ressemblant à :
|
|
|
|
~~~
|
|
Write failed: Broken pipe
|
|
rsync: connection unexpectedly closed (128109911 bytes received so far) [receiver]
|
|
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [receiver=3.0.7]
|
|
rsync: connection unexpectedly closed (128109911 bytes received so far) [generator]
|
|
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"`
|
|
|