Mise en place de sauvegardes avec backup-manager

Sauvegardez simplement le contenu de votre pc sur un autre pc simplement via backup-manager et en toute sécurité via ssh

Préambule

Soit :
  • serv_prod : le serveur de production dont vous souhaitez sauvegarder le contenu,
  • serv_backup : le serveur sur lequel vos backups seront uploadés,
  • user_prod : l’utlisateur sous lequel seront réalisés les fichiers de backup,
  • user_backup : l’utilisateur que l’on utilise pour se connecter à serv_backup.

Créer vos utilisateurs de backup sur les serveurs respectifs

sudo adduser user_prod --home /home/backup
sudo adduser user_backup --home /home/backup

Installation et configuration de backup-manager

C’est tout simple, sur serv_prod :

sudo aptitude update
sudo aptitude install backup-manager dar
backup-manager vous demande un certain nombre d’informations :
  • Dépot des archives : /home/backup
  • utilisateur propriétaire du dépot : user_prod
  • groupe propriétaire du dépot : user_prod
  • format des sauvegardes : .tar.bz2
  • fréquence des sauvegardes : hebdomadaire
  • Suivre les liens symboliques : non
  • Format du nom des archives : long
  • Temps de conservation des sauvegardes : 14 (permet de conserver 2 semaines de sauvegardes par ex)
  • Répertoires à sauvegarder : indiquer ici les répertoires qui vous intéressent
  • Répertoires à ne pas sauvegarder : /home/backup
  • Encrypter les archives : non
  • Activer le système de transfert des fichiers
  • Protocole de transfert à utiliser : scp
  • Hote distant : ip ou nom d’hote de serv_backup
  • Utilisateur distant : user_backup
  • Clé privée : /home/backup/.ssh/id_dsa
  • Répertoire de destination : /home/backup
  • Activer la gravure : non

Lors de l'installation de base, il ne vous demande pas tout cela. Pour remplir tous ces champs, vous pouvez faire :

sudo dpkg-reconfigure backup-manager

Paramétrage avancé de backup-manager

Sur serv_prod, éditez /etc/backup-manager.conf

Si vous voulez passer en mode incrémental, changez la valeur suivante :

export BM_ARCHIVE_METHOD="tarball-incremental"

Si vous voulez sauvegarder aussi vos base MySQL, vos dépôts subversion (il faudra ensuite renseigner les sections MySQL et Subversion plus loin dans le fichier).

export BM_ARCHIVE_METHOD="tarball-incremental mysql svn"

Pour utiliser Dar et définir la taille maximale d’un volume de sauvegarde ( ex découper vos sauvegardes en tranches de 100 Mo - pratique pour les transferts) :

export BM_TARBALL_FILETYPE="dar"

et un peu plus bas :

export BM_TARBALL_SLICESIZE="100M"

Mise en place de l’authentification par clé entre serv_prod et serv_backup

Sur serv_prod, connectez vous en user_prod.

Créez une paire de clé privée/publique ssh :

ssh-keygen -t dsa
On va vous demander :
  • le chemin où sera stocké votre clé privée, tapez simplement entrée pour accepter la valeur par défaut
  • une passphrase : laissez vide et tapez sur entrée
  • la confirmation de votre passphrase : tapez encore sur entrée.

La raison pour laquelle on ne définit pas de passphrase est que cela au permet d’automatiser les scripts et éviter que la passphrase soit demandée lors de la connexion au serveur.

Copiez ensuite votre clé publique sur le serveur de backup :

ssh-copy-id -i ~/.ssh/id_dsa user_backup@serv_backup

Testez ensuite la connection :

ssh user_backup@serv_backup

Vous devriez pouvoir vous connecter sans authentification.

Exécutez votre premier jeu de sauvegarde avec backup-manager

Lancez backup-manager :

sudo backup-manager -v

Automatisation des sauvegardes

Comme vous avez rentré une fréquence lors de l’installation de backup-manager, vous aurez une entrée correspondante dans /etc/cron.* (si vous avez choisi une fréquence hebdo, ce sera dans /etc/cron.weekly).

Comments !