« Rsync » : différence entre les versions
De Wiki doc
(Page créée avec « Category:linux ») |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
[[Category:linux]] | [[Category:linux]] | ||
Rsync est un outil de synchronisation de fichiers unidirectionnel (à l'inverse de [[Unison]]). Il comporte un grand nombre d'options et peut exploiter SSH afin de d'agir sur deux machines au travers du réseau. | |||
{{info|On entend par unidirectionnel le fait que le delta entre deux fichiers soit toujours comparé de la source à la destination et non l'inverse (ce sera toujours la destination qui se ferra écraser - pas de notion de date).}} | |||
=Installation= | |||
Rsync est un outil développé en Python disponible dans la plupart des [[:Category:distributions Linux|distributions Linux]]. Sous Debian, on peut l'obtenir via [[:Category:Apt|Apt]]. | |||
apt install rsync | |||
=Utilisation= | |||
{{attention|Comme de nombreux outils de transferts, les répertoires ne sont pas géré de la même façon si un <source lang="bash" inline>/</source> a été précisé ou non. Par exemple, un transfert via Rsync du répertoire <source lang="bash" inline>DOSSIER-SOURCE</source> vers <source lang="bash" inline>DOSSIER-DESTINIATION</source> créera ce dernier avec le contenu du premier alors qu'un <source lang="bash" inline>DOSSIER-SOURCE/</source> copiera son contenu dans la destination (ce sera l'équivalent d'un <source lang="bash" inline>cp DOSSIER-SOURCE/* DOSSIER-DESTINATION</source> en somme).}} | |||
==Basique== | |||
Dans son plus simple emploi, Rsync s'utilise comme la commande <source lang="bash" inline>cp</source>. | |||
rsync DOSSIER/SOURCE DOSSIER/DESTINATION | |||
==Utilisation== | |||
Il est possible d'ajouter un ensemble de paramètres à l'outil afin de répondre à des besoins spécifiques. | |||
===Maintient des permissions sources=== | |||
rsync -a SOURCE DESTINATION | |||
===Maintient des permissions de destination=== | |||
rsync -a -A --no-perms --no-owner --no-group SOURCE DESTINATION | |||
===Transfert via SSH=== | |||
rsync -a SOURCE utilisateur@DESTINATION | |||
===Transfert via relay SSH=== | |||
La'usage d'un [[Openssh#Relai_SSH|relay SSH]] est utile si la machine est inaccessible directement (NAT, pare-feux, clé SSH...). | |||
rsync -a -e "ssh -J utilisateur@IPRELAI:PORT" SOURCE utilisateur@IP/DESTINATION | |||
===Compression=== | |||
rsync -z SOURCE DESTINATION | |||
===Verbosité=== | |||
rsync -v --progress SOURCE DESTINATION | |||
===Statistiques=== | |||
rsync --stats SOURCE DESTINATION | |||
==Usage fréquent== | |||
Voici la commande que j'utilise souvent pour transférer des fichiers dans mon réseau local. | |||
rsync -av --progress SOURCE utilisateur@IP/DESTINATION | |||
=Source= | |||
* https://linux.die.net/man/1/rsync |
Version du 11 décembre 2019 à 15:40
Rsync est un outil de synchronisation de fichiers unidirectionnel (à l'inverse de Unison). Il comporte un grand nombre d'options et peut exploiter SSH afin de d'agir sur deux machines au travers du réseau.
INFORMATION
On entend par unidirectionnel le fait que le delta entre deux fichiers soit toujours comparé de la source à la destination et non l'inverse (ce sera toujours la destination qui se ferra écraser - pas de notion de date).Installation
Rsync est un outil développé en Python disponible dans la plupart des distributions Linux. Sous Debian, on peut l'obtenir via Apt.
apt install rsync
Utilisation
ATTENTION
Comme de nombreux outils de transferts, les répertoires ne sont pas géré de la même façon si un/
a été précisé ou non. Par exemple, un transfert via Rsync du répertoire DOSSIER-SOURCE
vers DOSSIER-DESTINIATION
créera ce dernier avec le contenu du premier alors qu'un DOSSIER-SOURCE/
copiera son contenu dans la destination (ce sera l'équivalent d'un cp DOSSIER-SOURCE/* DOSSIER-DESTINATION
en somme).Basique
Dans son plus simple emploi, Rsync s'utilise comme la commande cp
.
rsync DOSSIER/SOURCE DOSSIER/DESTINATION
Utilisation
Il est possible d'ajouter un ensemble de paramètres à l'outil afin de répondre à des besoins spécifiques.
Maintient des permissions sources
rsync -a SOURCE DESTINATION
Maintient des permissions de destination
rsync -a -A --no-perms --no-owner --no-group SOURCE DESTINATION
Transfert via SSH
rsync -a SOURCE utilisateur@DESTINATION
Transfert via relay SSH
La'usage d'un relay SSH est utile si la machine est inaccessible directement (NAT, pare-feux, clé SSH...).
rsync -a -e "ssh -J utilisateur@IPRELAI:PORT" SOURCE utilisateur@IP/DESTINATION
Compression
rsync -z SOURCE DESTINATION
Verbosité
rsync -v --progress SOURCE DESTINATION
Statistiques
rsync --stats SOURCE DESTINATION
Usage fréquent
Voici la commande que j'utilise souvent pour transférer des fichiers dans mon réseau local.
rsync -av --progress SOURCE utilisateur@IP/DESTINATION