Rsync est un logiciel utilisé pour transférer des données entre deux localisations, autant sur un même ordinateur qu'entre deux ordinateurs sur un même réseau, qu'il soit interne ou sur Internet.
Un script rsync est composé de trois parties: les options, l'origine et la destination.
Voici la forme de la commande que j'utilise le plus souvent, que j'ai eu l'occasion de tester au fil des années et qui donne les meilleurs résultats:
rsync -r -taH --progress --no-compress --inplace -s ORIGINE/ DESTINATION
Le répertoire d'origine doit se terminer par une barre oblique, mais pas celui de destination. Sinon, ça crée un nouveau répertoire avec le même nom dans la destination.
Voici une description des options que j'utilise. Rsync a de nombreuses options, c'est un logiciel très complet.
-r : aller récursivement à travers tous les sous-répertoires
-t: garder les dates de modification originales des fichiers
-a: mode archive
-H: garder les liens durs (utile pour les alias utilisés par exemple pour le développement en environnement virtuel avec le langage Python)
--progress: afficher le progrès du transfert
--no-compress: ne pas compresser (accélère le transfert sur les disques durs USB-C qui sont souvent plus rapides que la compression, on utilise --compress si on communique par un lien réseau)
--inplace: remplacer les fichiers existants sur place sans créer un nouveau fichier, puis supprimer l'ancien. Pratique lorsque seulement de petites parties de fichiers volumineux sont modifiées
-s: mieux gérer les espaces dans les fichiers