rsnapshot, le robot de sauvegarde
Suite au commentaire de Xate dans un récent billet, aujourd'hui un billet sur rsnapshot, un logiciel de sauvegarde incrémentale basé sur rsync. Si j'en fais un billet, c'est tout simplement car c'est ce que j'ai mis en place pour sauvegarder mon infrastructure.
J'avoue ne pas trop savoir quoi raconter sur ce logiciel, car de nombreuses documentations existent déjà, quasiment pour chaque distribution :
- chez Ubuntu-fr ;
- chez ArchLinux ;
- chez Gentoo ;
- chez Alpine Linux ;
- encore pour Ubuntu, un tutoriel chez Digital Ocean ;
- cette fois-ci pour Debian, un autre tutoriel rsnapshot pour MySQL, de chez Howtoforge.
Je vais donc parler de quelques points de ma configuration en particulier. La première particularité de celle-ci est que j'ai choisi d'installer rsnapshot sur une machine (en fait une jail FreeBSD sur mon NAS FreeNAS) et de l'utiliser en mode "robot de sauvegarde", c'est-à-dire qu'il va se connecter sur toutes les machines à sauvegarder via SSH pour effectuer les sauvegardes. J'y vois l'avantage que je n'ai qu'une seule configuration à modifier, et un utilisateur à configurer sur mes serveurs (accompagné, bien entendu, de sa configuration sudo et de la clé SSH).
Par exemple, pour la sauvegarde du Raspberry Pi qui fait des bulk builds :
backup rsnapshot@netpi2:/etc/ netpi2/ +rsync_long_args=--rsync-path='/usr/pkg/bin/sudo /usr/pkg/bin/rsync'
backup rsnapshot@netpi2:/usr/pkg/etc/ netpi2/ +rsync_long_args=--rsync-path='/usr/pkg/bin/sudo /usr/pkg/bin/rsync'
backup rsnapshot@netpi2:/var/log/ netpi2/ +rsync_long_args=--rsync-path='/usr/pkg/bin/sudo /usr/pkg/bin/rsync'
backup rsnapshot@netpi2:/srv/sandbox/pkgsrc-current/usr/pbulk/etc/ netpi2/ +rsync_long_args=--rsync-path='/usr/pkg/bin/sudo /usr/pkg/bin/rsync'
On peut aussi noter que j'ai choisi d'ajouter des options à rsync selon mes machines, car celles-ci peuvent être de différents OS, ce qui fait que rsync et sudo ne se trouvent pas toujours au même endroit.
Du côté de la rétention et des intervalles de sauvegarde, j'ai fait très simple :
- une sauvegarde par jour (daily);
- 370 jours de rétention.
370 jours peut sembler un peu abusé, mais la force de rsnapshot est dans son utilisation des liens (hardlinks) combinée à celle de rsync, qui rend les sauvegardes rapides, mais aussi moins consommatrices en espace disque car dédupliquées. Par exemple pour le serveur web de ce blog :
# du -csh daily.0/vhost2/ daily.1/vhost2/
17G daily.0/vhost2/
2.3G daily.1/vhost2/
19G total
La restauration se fait très simplement aussi, puisqu'il s'agit de fichiers tout ce qu'il y a de plus classiques, ou de liens.
Vous avez aimé cet article ? Alors partagez-le sur les réseaux sociaux !
Crédit photo : Ritva Pirinen - Spare Parts.