La sauvegarde de fichiers a toujours été un des points a ne pas négliger. Personne n'est à l'abri d'une défaillance qui entraîne une perte de données. Le logiciel Rsync permet de facilité cette tache. Nous allons voir ici comment le mettre en oeuvre.
Rsync
Rsync est un utilitaire open source qui permet de synchroniser des fichiers et répertoires entre deux endroits en minimisant le transfert de données. En effet Rsync ne transfert que la différence entre deux séries de fichiers.\ Il est téléchargeable sur le site officiel ou est accessible via le gestionnaire de paquet de votre distribution.
Sauvegarde dans un autre répertoire du même ordinateur
Rsync est un logiciel en ligne de commande et s'utilise simplement comme ceci:
rsync [OPTION] /repertoire/origine/ /repertoire/sauvegarde/
Remplacez bien entendu /repertoire/origine/
par le répertoire que vous
voulez sauvegarder et ;code:/repertoire/sauvegarde/ par le répertoire ou sera
stocké la copie de sauvegarde.
Les différentes options peuvent être obtenue via la page de manuel de Rsync (man Rsync). Nous allons voir les principales:
-r, --recursive |
permet d'agir sur les différents sous-répertoires |
-l, --links |
copie les liens symboliques comme des liens symboliques |
-p, --perms |
conserve les permissions |
-t, --times |
conserve les dates de modification des fichiers |
-g, --group |
conserve le groupe du fichier |
-o, --owner |
conserve le propriétaire du fichier |
-a, --archive |
mode archive équivalent à -rlptgoD |
--delete |
supprime les fichiers du répertoire de destination quand ils sont absent du répertoire d'origine |
-v, --verbose |
mode verbeux: rsync dit tout ce qu'il fait |
A l'aide de ces options vous pouvez facilement faire une copie de vos fichiers d'un répertoire vers un autre.
Sauvegarde incrémentale
Rsync vous permet de sauvegarder les fichiers modifiés ou supprimés. Vous
obtenez cette action en utilisant l'option -b
ou --backup
. Par défaut le
fichier modifié est renommé en y ajoutant un suffixe ~
ainsi le fichier
exemple.txt
sera sauvegarder en exemple.txt~
. Vous pouvez changer ce
suffixe via l'option --suffix=SUFFIX
.
Les sauvegardes des fichiers peuvent être déplacés dans un autre répertoire que
vous pouvez spécifier à l'aide l'option --backup-dir=DIR
. Dans ce cas le
suffixe n'est pas ajouté au fichier sauvegardé sauf si vous le précisez.A l'aide
de cette dernière option et avec un petit script vous pouvez mettre en place une
sauvegarde incrémentale. C'est à dire qu'à chaque sauvegarde de fichier modifié
ou supprimé se fait dans un répertoire différent:
rsync -av --delete -b --backup-dir=/repertoire/sauvegarde/`date +%Y-%m-%d` \
/repertoire/origine/ /repertoire/sauvegarde/
A chaque sauvegarde un répertoire de sauvegarde est créé dans
/repertoire/sauvegarde/
de la forme annee-mois-jour
.
Sauvegarde distante
Nous avons vu jusqu'à maintenant la sauvegarde dans un autre dossier du même ordinateur. Rsync permet également de faire des sauvegarde sur un ordinateur distant comme un serveur de sauvegarde par exemple. L'ordinateur distant doit avoir rsync installé pour que cela fonctionne. Pour cela il peut utiliser une connexion SSH:
rsync -av ssh /repertoire/origine utilisateur@serveur:/repertoire/sauvegarde/
Le mot de passe de l'utilisateur sera demandé comme pour toute connexion SSH.
Vous pouvez aussi mettre en place une connexion SSH sans mot de passe (par comparaison de clés) pour pouvoir automatiser la sauvegarde.