Backup avec Rsnapshot
Un article de Wiki SOS-ADMIN.
Cet article est basé sur le Rsnapshot HOWTO écrit par Nathan Rosenquist.
Sommaire |
Introduction
Rsnapshot est un utilitaire qui permet d'effectuer des sauvegardes sur des systèmes locaux ou distants.
Prérequis
- Perl
- rsync
- une authentification SSH par clef et sans passphrase (ou avec ssh-agent) pour les serveurs distants à sauvegarder
Installation
Télécharger la derniere version ici.
cd /usr/local/src/ wget http://rsnapshot.org/downloads/rsnapshot-1.2.1.tar.gz tar xvzf rsnapshot-1.2.1.tar.gz cd rsnapshot-1.2.1
Configurer le process d'install pour placer le fichier de configuration dans /etc
./configure --sysconfdir=/etc
Installer le logiciel
su make install
Les éléments suivants ont été installés.
Le script perl est ici : /usr/local/bin/rsnapshot La page de man est ici : /usr/local/man/man1/rsnapshot.1 Le fichier de config est ici : /etc/rsnapshot.conf
Configuration
Un fichier de configuration par défaut a été créer, nous allons en créer une copie.
cp /etc/rsnapshot.conf.default /etc/rsnapshot.conf chmod 0600 /etc/rsnapshot.conf
Avant de commencer
Deux éléments importantes :
- Ce ne sont pas des espaces mais des tabulations entre chaques instructions
- Tous les chemins doivent se terminer par / (slash)
Editer ce fichier.
pico /etc/rsnapshot.conf
Répertoire de sauvegarde
Le snapshot_root est le répertoire dans lequel toutes les sauvegardes seront faites, nous les stockeront dans /home/.snapshot
snapshot_root /home/.snapshots/
Les commandes externes
Décommenter toutes les commandes externes
cmd_cp /bin/cp cmd_rm /bin/rm cmd_rsync /usr/bin/rsync cmd_ssh /usr/bin/ssh cmd_logger /usr/bin/logger cmd_du /usr/bin/du
Les intervalles de sauvegardes
Un interval se configure de la manière suivante :
interval heures 2
Cela veut dire que le système gardera 2 versions des sauvegardes de type heures, il faudra donc effectuer 2 sauvegardes journalieres (1 toutes les 12 heures) Nous souhaitons également garder 7 sauvegardes par semaine. Pour cela il suffit d'ajouter la ligne suivante:
interval jours 7
Cette sauvegarde devra être executée 1 fois par jour.
Les données à sauvegarder
De manière générale un point de sauvegarde est défini de cette façon:
backup /chemin/local/ nom_d_hote/
nom_d_hote sera un sous répertoire de snapshot_root. Il n'est pas util de le créer manuellement.
Un point de sauvegarde distant sera déclaré de cette manière:
backup user@hote:/chemin/a/sauvegarder/ hote/
Les paramètres optionnels
Il est conseillé de positionner le paramètres link_dest à 1
link_dest 1
Tester la configuration
Avant de regler les crons et d'effectuer notre première sauvegarde il faut verifier le fichier de configuration:
rsnapshot configtest
Si tout va bien il vous répondra gentiment : Syntax OK. Sinon vérifier bien qu'il n'y a pas d'espaces à la place des tabulations.
Il est possible de simuler le fonctionnement de rsnaphot:
rsnapshot -t heures
Il ne reste plus qu'à regler les crons.
Execution des sauvegardes
On souhaite avoir en permanence deux sauvegardes par jour, et sept par semaine. Le crontab devra donc ressembler a ca :
0 22,10 * * /usr/local/bin/rsnapshot heures 30 23 * * * /usr/local/bin/rsnapshot jours

