Mettre en miroir un répertoire local avec rsync
Attention
Cet article a été publié il y a plus d'un an, il peut y avoir des développements été.
S'il vous plaît prendre en compte.
Aujourd'hui on parle de rsync: un programme en ligne de commande qui synchronise une source avec une destination locale ou distante. Dans l'exemple d'aujourd'hui, nous allons synchroniser deux répertoires locaux.
J'ai récemment offert à ma copine une sauvegarde de ses photos. J'ai migré mes données vers un serveur local et le disque externe que nous utilisons pour les sauvegardes n'a plus que ses anciennes données. Elle me propose de m'occuper de la sauvegarde car selon elle elle ne sait pas comment faire.
En ouvrant le disque il me semble que ces derniers temps il n'a jamais mis de l'ordre dans ses fichiers et par exemple les photos bien qu'elles soient correctement cataloguées, ils sont dispersés dans différents répertoires. Le plus “peuplé” sont Immagini
(75GB) et Foto
(188GB). Le système qu'il a adopté pour les cataloguer suit plus ou moins le même critère, mais il y a des doublons dans les deux répertoires donc je décide qu'ils peuvent être fusionnés.
Il y a plusieurs moyens de le faire, mais le meilleur à mon avis est rsync
. Des alternatives plus ou moins valables peuvent être unison
ou le plus commun cp
, mais je ne traiterai pas de cela dans cet article.
Rsync est déjà installé sur toutes les grandes distributions Linux et son fonctionnement est très classique. Par défaut, il n'écrase pas le contenu, mais il copie simplement les fichiers non présents dans la destination.
~# rsync -avh --progress ./Immagini/ /mnt/4TB/Foto/
-a
va “archive” et copie récursivement tout de la source à la destination en préservant toutes ses caractéristiques (utilisateur, autorisations, etc.)-v
donne une sortie détaillée et va “verbeux”-h
façonne la sortie de sorte qu'elle puisse être intelligible et représente “lisible par l'homme”--progress
indique la quantité de travail effectuée en pourcentage
Pour avoir également les fichiers manquants dans le répertoire Immagini
il suffit de relancer la commande en inversant source et destination.
~# rsync -avh --progress /mnt/4TB/Foto/ ./Immagini/
Dans mon cas, j'étais intéressé à avoir tous les fichiers dans une seule destination, donc je ne l'ai lancé qu'une seule fois, mais je pense à toutes les situations dans lesquelles la redondance des données est importante et qu'il faut copier la même sur différents supports ou à différents endroits.
0 commentaires