« 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 à 16: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

Source