Backup Manager (GNU/Linux)

Critères requis :
  • Vous avez un compte sur console.online.net
  • Vous avez un serveur dédié Dedibox
  • Vous avez configuré l'espace Dedibackup depuis la console de gestion

Backup Manager est un logiciel que vous pouvez utiliser pour automatiser les sauvegardes de votre serveur sur l'espace FTP Dedibackup.

Etape 0 : Prérequis

  • Disposer d'une distribution GNU/Linux
  • Avoir gettext et Perl installés

Etape 1 : Installation de Backup Manager

apt-get install backup-manager

Etape 2 : Configuration de Backup Manager

Éditez le fichier /etc/backup-manager.conf en tant que root

root@dedibox:/home/bertrand# nano /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_PASSIVE “true” Activer le mode passif 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ées 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épôt 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.

Etape 3 : 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
root@dedibox:~# 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

Etape 4 : Récupération des sauvegardes

  • Il suffit de se connecter en FTP sur dedibackup.dedibox.fr.
bertrand@dedibox:~$ ftp -n dedibackup.dedibox.fr
Connected to dedibackup.dedibox.fr.
220-FTP server ready.
220 Ceci est un systeme prive - Aucun utilisateur anonyme autorise
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> user sd-000 mYp4SsW0rd
331 Utilisateur sd-000 OK. Veuillez taper votre mot de passe
230-L'utilisateur sd-000 a un acces de groupe sur:  1000     106      105
230- 104      46       44       30       29       25       24       20
230- 4
230-OK. Le repertoire restreint courant est /
230 3597 Ko utilises (0%) - autorises : 10240000 Ko
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 Commande PORT executee
150 Connexion au port 32845
drwxr-xr-x    2 1000     1000          216 May 31 19:36 .
drwxr-xr-x    2 1000     1000          216 May 31 19:36 ..
-rw-------    1 1000     1000           10 May 31 19:36 .ftpquota
-rw-r--r--    1 1000     1000          123 May 31 19:36 dedibox-20060531.md5
-rw-r--r--    1 1000     1000       289778 May 31 19:36 dedibox-etc.20060531.tar.gz
-rw-r--r--    1 1000     1000      3393717 May 31 19:36 dedibox-home.20060531.tar.gz
226-Options: -a -l
226 6 elements au total
ftp> get dedibox-etc.20060531.tar.gz
local: dedibox-etc.20060531.tar.gz remote: dedibox-etc.20060531.tar.gz
200 Commande PORT executee
150-Connexion au port 32846
150 283.0 Koctets a downloader
226-Fichier transfere sans probleme
226 0.021 secondes (mesuree ici), 12.87 Moctets par seconde
289778 bytes received in 0.03 secs (9793.3 kB/s)
ftp> bye
221-Au revoir. Vous avez uploade 0 et downloade 283 Koctets.
221 Deloggue.
  • Le fichier est bien là ?
bertrand@dedibox:~$ ls
dedibox-etc.20060531.tar.gz
  • Décompression de l'archive
bertrand@dedibox:~$ tar -xvzf dedibox-etc.20060531.tar.gz
etc/
etc/apm/
etc/apm/resume.d/
...
etc/profile
etc/mime.types
etc/bash_completion
  • A partir de maintenant, nous sommes en mesure de restaurer les fichiers que l'on souhaite. Par exemple…
bertrand@dedibox:~$ sudo mv /etc/network/interfaces /etc/network/interfaces.old
bertrand@dedibox:~$ sudo mv etc/network/interfaces /etc/network/interfaces

Références

- Le script de Backup Manager est disponibleici