Faire sa sauvegarde en une seule commande
Dans cette note celui ou celle qui utilise la ligne de commande Linux trouvera les commandes simples permettant de maintenir un répertoire B
à l'image d'un répertoire A
.
Pré-requis: Rsync 1 est installé sur le poste de travail. Ne pas avoir peur de la ligne de commande 2.
La sauvegarde, indépendamment de la compression, du chiffrement, ou de l’archivage (notion de rétention) des données, passe toujours par la synchronisation d’au moins deux espaces de stockage. Cette note montre comment utiliser Rsync
pour maintenir un répertoire B
à l'image d'un répertoire A
.
Rsync
est une commande disponible en standard sous Linux et MacOS. C'est un outil gratuit capable de détecter les fichiers modifiés ou nouveaux, et de mettre un répertoire B
à l'image d'un répertoire A
.
Voyons :
- Comment accéder à
rsync
- Comment lister les différences entre un répertoire source et un répertoire destination
- Comment mettre la destination à l’image de la source
- La sauvegarde
- Des infos complémentaires
Comment accéder à rsync
Ouvrir un ligne de commande.
Sous MacOS, lancer l’application Terminal
qui se trouve dans le groupe Utilitaires
.
Sous Linux Ubuntu, il y a un racourcis clavier : Ctrl-Alt-T
.
Entrer la commande rsync
, normalement l’outil est installé en standard, et une liste d’options s’affiche, en commençant par ces lignes :
rsync version 2.6.9 protocol version 29
Copyright (C) 1996-2006 by Andrew Tridgell, Wayne Davison, and others.
<http://rsync.samba.org/>
...
Comment lister les différences
Entre un répertoire source et un répertoire destination :
rsync -avunh --del --progress /Volumes/P2/mon_dossier/ /Volumes/FE_SAV/mon_dossier/ >~/list
La commande ci-dessus compare un répertoire source /Volumes/P2/mon_dossier/
et un répertoire destination /Volumes/FE_SAV/mon_dossier/
. Entre la commande rsync
et les deux chemins de répertoires se trouvent les options :
- a: parcours tous les sous-répertoires, conserve les attributs de fichiers (création, modification, droits, propriétaire, groupe, liens …)
- v: affichage détaillé de l’avancement (fichier par fichier)
- u: mise à jour de la destination avec les nouveaux fichiers sources
- n: désactive toute modification (permet de voir ce qui serait effectué)
- h: affichant les unités agregées (Ko, Mo, Go, …)
- - - del: suppression des fichiers présents sur la destination et absents de la source
- - - progress: affiche l’avancement
Attention : le slash
/
à la fin des chemins est important, sans lui un sous-répertoire ‘ref/ref’ serait créé sur la destination.
La partie >~/list
, située en fin de ligne, redirige (via le caractère >
) le resultat de la commande rsync
dans un fichier texte nommé list
et situé dans le répertoire principal de l’utilisateur courant (~/
).
Grâce à l’option -n
la commande est executée ‘à blanc’, elle permet de consulter les mises à jour identifiées dans le fichier ~/list
. Le fichier peut être ouvert avec n’importe quel éditeur de texte, ou bien via cette commande less ~/list
.
Comment mettre la destination à l’image de la source
Voici la ligne de commande qui permet de sauvegarder un dossier A
vers un dossier B
.
rsync -avuh --del --progress /Volumes/P2/mon_dossier/ /Volumes/FE_SAV/mon_dossier/ >~/list
Seule différence par rapport au paragraphque précédent, on enlève l’option -n
.
Le répertoire /Volumes/P2/mon_dossier/
se trouve sauvegardé sur /Volumes/FE_SAV/mon_dossier/
.
Attention du coup cette commande effectue réellement les modifications de données
Le fichier ~/list
permet de voir l’avancement. La commande tail -f ~/list
permet de voir les nouvelles lignes au fur et à mesure de la synchronisation.
La sauvegarde
La commande rsync
ci-dessus permet une sauvegarde simple d’un espace de stockage sur un autre.
Sur cette base il faut ensuite faire de bons choix :
- utiliser des espaces différents en fonction de la quantité, de la fréquence de mise à jour, et de la sensibilité des données
- s’assurer de bien être en phase avec ses engagements s’il en est
- tester la restauration régulièrement
- répartir géographiquement les espaces de stockage
- définir un politique de rétention (archivage)
Des infos complémentaires
D’autres commandes unix complémentaires à rsync
permettent d’automatiser / de planifier les sauvegardes, de compresser, et de chiffrer les données.
Rsync
compare un chemin source et un chemin destination, quelque soit le type de stockage (cloud, usb, disque, réseau …).
Dans le cas ci-dessus il peut s’agir de deux disques durs externes, nommés ‘P2’ et ‘FE_SAV’, connectés sur MacOS.
Leurs chemins respectifs sont /Volumes/P2
et /Volumes/FE_SAV
.
Selon votre configuration les chemins seront différents, le reste sera identique.
Il peut être bien de nettoyer le répertoire source avant de sauvegarder. Certains systèmes génèrent des fichiers indésirables dans une sauvegarde, tels que .DS_Store
sous MacOS.
L’utilitaire dot_clean
permet le nettoyage.
doc_clean /Volumes/P2/ref/
L’ancien système de fichiers FAT présente un décalage de 2 secondes entre les dates de fichiers source et destination. L’option --modify-window=2
de la commande rsync
permet de remédier au problème.
Si besoin le manuel utilisateur installé en standard sur votre système peut être consulté via la commande man rsync
.
-
L’article wikipedia : Interpréteur de commandes ↩︎