Backup incrémental a base de cp -al et rsync -aH
L'objectif de cet outil est de faire des sauvegardes quotidiennes stockées dans des répertoires nommés par la date du jour (yyyy-mm-dd).
snapy peut utiliser ssh pour accéder aux répertoires sources et cibles.
Attention!
Dans le cas d'une mauvaise utilisation snapy peut vous faire perdre vos données irrémédiablement ! Il est essentiel de bien comprendre son fonctionnement avant de l'utiliser.
L'option prune utilise la commande rm -r sur le répertoire cible.
Tous commentaires et suggestions bienvenues...
Pour ne pas occuper de la place inutilement, snapy effectue un cp -al du dernier backup vers un nouveau répertoire. L'option -a permet de préserver les propriétés des fichiers (droits, propriétaire...) et l'option -l permet de faire des liens hards plutôt que de créer des nouveaux fichiers. Ensuite rsync est utilisé pour ne mettre à jour que les fichiers qui ont changés (dans ce cas le lien hard est cassé).
Ensuite, pour ne pas conserver indéfiniment toutes les sauvegardes snapy efface les plus anciennes suivant la configuration choisie.
snapy devrait être lancé quotidiennement, mais ce n'est pas indispensable, il va conserver un certain nombre de jours, mois et années quelque soit la fréquence de lancement. S'il est lancé plusieurs fois dans la même journée, la dernière sauvegarde est mise à jour tout simplement.
La configuration se trouve dans un fichier à passer en parametre à snapy ou snapy.conf du répertoire en cours s'il existe.
Le fichier de configuration permet de gérer plusieurs backups, chacun se trouve configuré dans une section [backupXYZ].
Les options par défaut se trouvent dans la section [DEFAULT] (en majuscule).
Pour chaque section on retrouve les options suivantes :
Si ces deux paramètres ne sont pas renseignées, aucune sauvegarde n'est effectué (ce qui n'empêche pas une éventuelle épuration)
Si le script pre-snapy ne renvoi pas zéro la sauvegarde et l'épuration s'arrête pour ce backup.
Si ssh doit être utilisé pour la cible
Voir l'aide de rsync pour la liste et la documentation des options.
L'exécutable rsync peut être indiqué si besoin (pour les utilisateurs windows) avec l'option rsync-exe: c:/cwrsync/bin/rsync.
Chaque option rsync doit être indiquée sous la forme rsync--option, ou avec une seule lettre rsync-o.
Par exemple, les options conseillées sont:
rsync--archive: rsync--hard-links: rsync--verbose: rsync--compress: rsync--relative: rsync--copy-unsafe-links: rsync--delete: rsync--delete-excluded: rsync--exclude: fichier à exclure
Où l'équivalent abrégé:
rsync-a: rsync-v: ...
Dernière possibilité:
rsync-: -a -v -z ...
Lorsqu'une option comprend plusieurs paramètres, il faut les mettre sur plusieurs lignes et les indenter (espace à gauche).
Si on veut utiliser plusieurs fois la même option il est indispensable d'utiliser cette syntaxe
rsync--exclude: premier --exclude deuxieme --exclude troisieme ...
Voir l'aide de ssh pour la liste et la documentation des options.
L'exécutable rsync peut être indiqué si besoin (pour les utilisateurs windows) avec l'option ssh-exe: c:/cwrsync/bin/ssh.
Comme pour rsync, les options doivent être indiquées sous la forme ssh-x où x est l'option.
Par exemple:
ssh-l: user ssh-i: id_rsa
L'épuration n'a lieu que si prune est à True et si l'éventuel script pre-prune et pre-snapy ont retourné zéro.
Les informations sont envoyés à l'écran et enregistrés dans un fichier de log par jour de la forme snapy.log.2006-02-01 etc.. 10 jours sont conservés par défaut.