Backup - Sauvegardes automatique sous debian

Un article de Wiki Lambert Nicolas - Quement Julien.

Jump to: navigation, search

Sommaire

Prés requis

  • Installation de make
apt-get install -y make
  • Installation de gettext et Perl
apt-get install gettext perl

Installation de Backup Manager

  • Télécharger les sources
wget http://www.backup-manager.org/download/backup-manager-0.6.2.tar.gz
  • Décompresser les sources
tar -xvzf backup-manager-0.6.2.tar.gz 
  • Installation des fichiers
cd backup-manager-0.6.2 && make install && cp /usr/share/backup-manager/backup-manager.conf.tpl /etc/backup-manager.conf && cd ..
  • Supprimer les sources
rm -vrf backup-manager-0.6.2

Configuration de Backup Manager

  • Editez le fichier : /etc/backup-manager.conf
vim /etc/backup-manager.conf
  • Voici les options les plus couramment utilisées :
Nom de l'option Exemple de valeur Description
Stockage local
BM_REPOSITORY_ROOT ”/var/archives” Répertoire local où stocker les archives
BM_ARCHIVE_TTL “3” Nombre de version des archives à conserver en local
BM_ARCHIVE_METHOD “tarball-incremental mysql svn” Méthode d'archive à utiliser. Peut-être une ou plusieurs de ces valeurs : tarball, tarball-incremental, mysql et svn
Eléments à archiver
BM_TARBALL_DIRECTORIES ”/etc /home” Liste des répertoires à sauvegarder
BM_TARBALL_BLACKLIST ”/var/archives /home/notbackup” Sous-répertoires à éventuellement exclure
Transfert vers l'espace de stockage
BM_UPLOAD_METHOD “ftp” Méthode de transfert des éléments à sauvegarder
BM_UPLOAD_FTP_USER “sd-000” Identifiant à utiliser pour se connecter au serveur FTP
BM_UPLOAD_FTP_PASSWORD “mYp4SsW0rd” Mot de passe associé à l'identifiant précédent
BM_UPLOAD_FTP_HOSTS “dedibackup.dedibox.fr” Nom du serveur FTP
BM_UPLOAD_FTP_PURGE “true” Effacer le contenu du répertoire avant de transférer (true ou false)
BM_UPLOAD_FTP_DESTINATION ”/” Répertoire de destination où copier les archives (ATTENTION : ce dernier doit déjà être créé côté serveur)
Archivage incrémental
BM_TARBALLINC_MASTERDATETYPE “monthly” Fréquence de création de l'archive complète. Peut-être hebdomadaire (daily) ou mensuelle (monthly)
BM_TARBALLINC_MASTERDATEVALUE “23” Jour de création de l'archive complète (de 1 (lundi) à 7 (dimanche) pour une fréquence hebdomadaire et de 1 à 31 pour mensuelle)
Base de donnée MySQL
BM_MYSQL_DATABASES “mysql” Nom de la base de donnée MySQL
BM_MYSQL_ADMINLOGIN “root” Identifiant à utiliser pour se connecter au serveur MySQL
BM_MYSQL_ADMINPASS ”” Mot de passe associé à l'identifiant précédent
BM_MYSQL_HOST “localhost” Nom du serveur MySQL
BM_MYSQL_PORT “3306” Port d'écoute du serveur MySQL
BM_MYSQL_FILETYPE “gzip” Format de compression utilisé pour l'archive de la base (gzip ou bzip2)
Serveur SVN
BM_SVN_REPOSITORIES ”” Chemin absolu du dépot SVN à archiver
BM_SVN_COMPRESSWITH “gzip” Format de compression utilisé pour l'archive SVN (gzip ou bzip2)
Avancé
BM_PRE_BACKUP_COMMAND ”” Permet d'exécuter un script avant la première action de Backup Manager
BM_POST_BACKUP_COMMAND ”” Permet d'exécuter un script après la dernière action de Backup Manager

Pour plus de précisions sur les autres options de Backup Manager, référez-vous à la documentation officielle.

Automatisation des sauvegardes

Pour cela, nous devons réaliser un petit script que nous rajouterons dans cron.

  • Génération du script

Copier/coller ceci dans un shell root :

cat << EOF > /etc/backup-manager.sh && chmod 700 /etc/backup-manager.sh
#!/bin/sh
test -x /usr/sbin/backup-manager || exit 0
/usr/sbin/backup-manager
EOF
  • Ajout dans cron avec crontab
crontab -e

Ajouter la ligne suivante pour réaliser le transfert de fichiers vers l'espace de stockage...

  • ...tous les 15 jours à 8:04
4 8 */15 * * /etc/backup-manager.sh…
  • ...le 4 février à 23:16
16 23 4 2 * /etc/backup-manager.sh
  • ...du lundi au vendredi à 8:04
4 8 * * 1-5 /etc/backup-manager.sh

Pour plus d'info sur sur les CronTab c'est par ici : Linux : Crontab