Rsnapshot est un utilitaire de snapshot de système de fichiers basé sur rsync.
Rsnapshot facilite la réalisation d'instantanés périodiques de machines locales et de machines distantes par ssh.
Les fichiers peuvent être restaurés par les logins qui les possèdent, sans que le login root ne soit impliqué.
Une fois que vos sauvegardes sont configurées, elles peuvent se produire automatiquement sans mains humaines.
Et parce que rsnapshot ne conserve qu'un nombre fixe (mais configurable) d'instantanés, la quantité d'espace disque utilisée n'augmentera pas continuellement.
Il est entièrement écrit en perl sans dépendances de modules (perl, rsync, ssh, logger, cp, rm, logger, du).
sous Debian ou équivalent :
apt-get install rsnapshot
Avec les sources:
git clone http://github.com/rsnapshot/rsnapshot.git
Puis :
./autogen.sh ./configure --prefix=/usr/local/rsnapshot --sysconfdir=/usr/local/rsnapshot/etc --bindir=/usr/local/rsnapshot/bin --mandir=/usr/local/rsnapshot/man make install
Voila, pour plus de détail sur les options possible d'installation (avec les sources), vous pouvez lire le fichier INSTALL.md
.
Dans une premier temps , nous allons faire une copie du fichier configuration par défautrsnapshot.conf.default
, le chemin de ce fichier va dépendre de votre installation (dans mon cas /usr/local/rsnapshot/etc
).
cp /usr/local/rsnapshot/etc/rsnapshot.conf.default /usr/local/rsnapshot/etc/rsnapshot.conf
Par défaut les sauvegardes sont placées dans /.rsnapshot
, Si ce n'est pas ce que vous souhaitez, changez la destination :
#snapshot_root /.snapshots/ snapshot_root /<mon rep de backup>/
exemple :
snapshot_root /.backup
Les répertoires à sauvegarder :
Voici, un exemple de sauvegarde locale :
backup /etc/ /localhost/
Nous sauvegardons /etc/
vers <snapshot_root>/<retain>.0/localhost/etc/
en utilisant rsync sur le système de fichiers locale.
<retain>
, je fais référence à l'option du fichier de configuration.
Pour vous aider je vous détail l'option :
La valeur de <Nom>
sera la commande passée à rsnapshot pour effectuer ce type de sauvegarde.
Exemple :
retain daily 7
Pour cet exemple, chaque fois que cela se produit, les événements suivants se produiront cela :
Les niveaux de sauvegarde doivent être spécifiés dans le fichier de configuration dans l'ordre, du plus fréquent au moins fréquent.
La première entrée est celle qui sera synchronisée avec les points de sauvegarde.
exemple de retain :
retain daily 7 retain weekly 4
Voici, un exemple de sauvegarde distante :
backup root@ksh-linux.info:/etc/ ksh-linux.info/
Qui aura pour effet de sauvegarder le répertoire /etc
du serveur ksh-linux.info
dans le répertoire <snapshot_root>/<retain>.0/ksh-linux.info
Pour les autres configurations possibles, vous pouvez regarder les exemples à la fin du fichier de configuration rsnapshot.conf
.
Lorsque rsnapshot.conf
contient vos paramètres, effectuez une vérification rapide pour plus de sérénité, juste pour vous assurer que tout est prêt :
rsnapshot configtest
Vous devriez obtenir le résultat Syntax OK
, quand cela est obtenu, vous pouvez faire votre cron.
Voici, un exemple avec comme option retain
les options suivantes :
retain daily 7 retain weekly 4
Le crontab qui suit :
10 23 * * * /usr/local/rsnapshot/bin/rsnapshot daily 50 23 * * 7 /usr/local/rsnapshot/bin/rsnapshot weekly
Bon, backup
sources : github.com, linux.die.net
N'hésitez pas à laisser un petit un commentaire.