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.