Ceci est une ancienne révision du document !
Backup-manager
Version 7.2
Avant-propos
Les pertes de données est la chose qu'un utilisateur redoute le plus. Elle peut être due à plusieurs facteurs (mauvaise manipulation, disque dur hors service, malveillance, vol,…) et n'épargne personne. Ceux qui ont eu la désagréable surprise d'avoir un disque dur en "carafe" savent bien sûr a quel point les sauvegardes sont importantes. Dans cette amertume , les bonnes résolutions du genre "je ferais des sauvegardes tous les minutes!" apparaissent. Elles sont malheureusement du même genre que celles que l'on fait tous le jour de l'an!
C'est pour cela qu'il existe des gestionnaires de sauvegardes qui effectuent ces opération répétitive pour nous et surtout sans nous!
Avant de commencer, je voudrais vous informer que d'autres outils de sauvegardes existent tels que rsync, rdiff-backup et dump_restore mais ils répondent à d'autres besoins que backup-manager.
En effet, dans le choix d'un gestionnaire de sauvegarde il faut connaître son besoin. Celui auquel répond (très bien) backup-manager est une sauvegarde de fichier locaux sous forme d'archives (méthode éprouvée) pouvant être exporté sur un serveur (via FTP, SSH, RSYNC,…) ou gravé sur CD/DVD. Il n'y a pas de procédure de restauration automatique, il suffit juste d'extraire les fichiers de l'archive pour pouvoir les utiliser. Backup-manager est donc efficace pour des ordinateurs "individuels" de particuliers et petites entreprises désireux d'une solution de sauvegarde simple, automatique et relativement sûre.
Loin d'avoir testé toutes les solutions existantes, backup-manager a retenu mon attention car :
- Sa paramétrisation est relativement fournie, intuitive et bien renseignée
- Il génère des archives (donc facilement manipulables et c'est un moyen éprouvé!)
Ce document n'est qu'une synthèse/traduction de la documentation officielle 7.2 disponible sur le Site officiel ou dans le paquet backup-manager-doc disponible dans les dépôts universe.
Présentation
Backup-manager s'étoffe de versions en versions dans cette version il permet dès à présent :
- de sauvegarder vos données sous forme d'archive tar/dar (à intervalle régulier ou sur demande)
- d'effacer les vieilles sauvegardes.
- de compresser les sauvegardes, les découper en plusieurs fichiers de taille déterminée.
- de ne sauvegarder que les différences entre les sauvegardes (sauvegarde incrémentale)
- de graver automatiquement les sauvegardes sur CD/DVD
- d'exporter les sauvegardes sur une machine distante
- d'exécuter une commande avant et après la sauvegarde
- de créer plusieurs méthodes de sauvegarde grace à divers outils de sauvegardes
- …
Ce gestionnaire de sauvegarde est donc largement suffisamment puissant pour un un parc informatique ne comportant que quelques postes.
Pour un parc informatique important, il est préférable de mettre en place des systèmes du genre rsync (Serveur de sauvegarde, clients)
Installation
Backup-manager est disponible dans le dépôt universe donc pour l'installer un simple :
sudo apt-get install backup-manager
Lors de l'installation, on vous demande quelques paramètres dont l'aide est fournie en français.
Lorsque l'installation prend fin, backup-manager est dès à présent paramétré pour pouvoir faire des sauvegardes. Elles seront journalière, complètes (tous les fichiers seront sauvés à chaque fois) et sous forme d'archives compressées *.tar.gz. Leur durée de vie seront de 5 jours (après quoi elles seront supprimés). Si cela est ce que vous cherchiez vous pouvez vous arrêter là!
Astuce :
Vous pouvez installer backup-manager-doc pour pouvoir consulter la documentation officielle complète en PDF et HTML dans /usr/share/doc/backup-manager-doc/. (en anglais)
Configuration
La configuration de backup-manager se fait via le fichier :
sudo gedit /etc/backup-manager.conf
On va maintenant regarder ensemble la signification des divers paramètres
Astuce :
Utilisez le mode de coloration syntaxique de gedit on y voit beaucoup mieux!
Répertoire et Sauvegarde
Répertoire et ses droits
Backup-manager stocke les archives (sauvegardes) dans un répertoire lequel peut être protégé par des droits d'accès.
BM_REPOSITORY_ROOT
Répertoire où toutes vos archives seront stockés.
Remarques : Il est plus sûr :
- de stocker les archives sur un autre disque dur (crash de disque) si vous ne souhaitez pas les exporter sur un serveur.
- d'allouer une partition uniquement pour les sauvegardes qui peuvent prendre beaucoup de place et "gêner" les autres partitions (surtout si mauvais paramétrage)
Exemple :
export BM_REPOSITORY_ROOT="/sauv"
BM_REPOSITORY_SECURE
Pour des raisons de sécurité le répertoire peut n'être accessible (lecture/écriture) que par une paire utilisateur/groupe.
Exemple :
export BM_REPOSITORY_SECURE="true" export BM_REPOSITORY_USER="root" export BM_REPOSITORY_GROUP="root"
Sauvegardes
BM_ARCHIVE_TTL
C'est la durée de vie (Time To Live) en jours d'une archive.
Exemple :
export BM_ARCHIVE_TTL="5"
BM_ARCHIVE_PURGEDUPS
Si deux archives (sauvegardes) successives sont identiques backup-manager peut créer un lien au lieu de recréer une cette archive. (gain de place)
Exemple :
export BM_ARCHIVE_PURGEDUPS="true"
BM_ARCHIVE_PREFIX
Donne un préfixe au nom de l'archive.
Exemple : ici le nom de l'ordinateur
export BM_ARCHIVE_PREFIX="$HOSTNAME"
BM_ARCHIVE_METHOD
La méthode permettant de créer les archives : (voir § suivant)
- tarball
- tarball-incremental
- mysql
- svn
- pipe
- none
Exemple :
export BM_ARCHIVE_METHOD="tarball"
Méthode de sauvegarde
Tarball
A chaque sauvegarde, elle liste les fichiers à sauvegarder dans un fichier texte et fabrique le fichier de sauvegarde. (vous pouvez faire vos propres scripts).
- + Facile à utiliser
- - gourmande en espace de disque!
BM_TARBALL_NAMEFORMAT
Comment apparaissent les fichier dans la liste :
- long : liste tous les sous-répertoires puis le nom du fichier (ex : /home/toto/doc.odt)
- short : donne uniquement le nom du fichier (ex : doc.odt)
Exemple :
export BM_TARBALL_NAMEFORMAT="long"
BM_TARBALL_FILETYPE
C'est le type de compression désirée :
- tar : sans compression fait juste une archive de vos sauvegardes
- tar.gz : compression/décompression rapide
- tar.bz2 : taux de compression plus élevé mais beaucoup plus lente
- zip : compression zip
- dar : compression et permet le découpage en plusieurs fichiers de taille définie
Exemple :
export BM_TARBALL_FILETYPE="tar.gz"
BM_TARBALL_DUMPSYMLINKS
Est ce que backup-manager sauvegarde les répertoires pointés par des liens (raccourcis)?
Attention : Peut considérablement augmenter la taille de votre archive. S'il y a une boucle de liens l'archive sera infinie! Soyez prudent!
Exemple :
export BM_TARBALL_DUMPSYMLINKS="false"
BM_TARBALL_DIRECTORIES
Pour faire une sauvegarde, il faut lui dire le chemin où se trouve les chose à sauvegarder :
Note : Pour sauvegarder plusieurs dossiers séparer les chemins d'un espace
Exemple :
export BM_TARBALL_DIRECTORIES="/home/toto /home/tata"
BM_TARBALL_BLACKLIST
Donner une liste noire qui comporte certains dossiers et fichiers à ne pas sauvegarder.
Note : Séparer les chemins/fichiers d'un espace.
Exemple :
export BM_TARBALL_BLACKLIST="/home/toto/temp/ *.mp3"
BM_TARBALL_SLICESIZE
Détermine la taille maximale des archives dar (si vous n'utilisez pas dar cette option n'est pas pour vous)
Exemple :
export BM_TARBALL_SLICESIZE="1000M"
Tarball incrémentale
Cette méthode est identique à tarball mais ne sauvegarde que les différences entre deux sauvegardes successives. Ici 2 sortes de sauvegarde sont mises en oeuvre :
- Sauvegardes complètes (full) : sauvegarde tous les fichiers comme une tarball à intervalle régulier.
- Sauvegardes différentielles : ce sont les sauvegardes entre 2 sauvegardes complètes. Elles contiennent juste la différence entre 2 sauvegardes successives.
- + Gain de place énorme
- - Toute votre sauvegarde n'est pas dans la même archive
BM_TARBALLINC_MASTERDATETYPE
Détermine la fréquence des sauvegardes complètes : (temps entre 2 sauvegardes complètes)
- weekly : toutes les semaines
- monthly : tous les mois
Exemple :
export BM_TARBALLINC_MASTERDATETYPE="weekly"
BM_TARBALLINC_MASTERDATEVALUE
Le jour des sauvegardes complètes :
- si weekly : mettre un nombre de 1→7 (lundi → dimanche)
- si monthly : mettre un nombre de 1→31 (1er → 31)
Exemple :
export BM_TARBALLINC_MASTERDATEVALUE="1"
Autres
Les autres méthodes sont MySQL, SVN, Generic method,… Ces méthodes ne sont pas (encore) expliquées dans ce wiki. N'hésitez pas à regarder la documentation officielle (très bien faite et en anglais de cuisine)
Méthode d'exportation des sauvegardes
Il est possible d'exporter ses sauvegardes par différents protocoles (SSH, FTP et RSYNC). Ces méthodes ne sont pas (encore) expliquées dans ce wiki. N'hésitez pas à regarder la documentation officielle (très bien faite et en anglais de cuisine)
Exportations sur média
Dans cette version, Seul l'enregistrement sur CD/DVD est supporté. D'autres enregistrements sont à l'étude.
Gravure CD/DVD
BM_BURNING_METHOD
Quel support voulez vous utiliser :
- CDR : pour les CD-R (enregistrables)
- CDRW : pour les CD-RW (réenregistrable)
- DVD : pour les DVD+R et DVD-R (enregistrables) et pour les DVD+RW (réenregistrables) n'ont pas besoin d'être effacés.
- DVD-RW : pour les DVD-RW (réenregistrable)
- none : déactive la procédure de gravage
Notes :
- En commande automatique : backup-manager va essayer de mettre toutes les sauvegardes sur le support, s'il ne peut pas il mettra juste la dernière, sinon il ne gravera rien.
- En commande manuelle : backup manager demandera autant de supports nécessaires à la copie de toutes les sauvegardes.
- CDRW et DVD-RW effacent d'abord le disque puis grave. Attention à ne pas laisser de support important dans le lecteur lors de la sauvegarde! (déconseillé en automatique)
Remarque : Je déconseille la gravure de support en mode automatique si vous n'avez pas un graveur dédié pour cela (donc mettez none dans ce fichier de configuration). En effet, elle pose des problèmes en cas de présence d'un CD-RW présent lors de la sauvegarde. Vous pourrez toujours faire des sauvegardes manuelles sur support (voir § suivant).
Exemple :
export BM_BURNING_METHOD="none" (recommandé) ou export BM_BURNING_METHOD="CDR"
BM_BURNING_CHKMD5
(à compléter) Permet de vérifier après gravure si les données du support correspondent aux archives.
Exemple :
export BM_BURNING_CHKMD5="true"
BM_BURNING_DEVICE
Donne le chemin du lecteur qui est aussi le chemin du graveur (nécessaire pour le CHecK MD5).
Exemple :
export BM_BURNING_DEVICE="/dev/cdrom"
BM_BURNING_DEVFORCED
Donne le chemin du graveur si aucun n'est renseigné, le graveur par défaut sera utilisé.
Exemple :
export BM_BURNING_DEVFORCED="/dev/cdrom"
BM_BURNING_MAXSIZE
Donne la capacité maximale des supports :
- pour un CD : 650 ou 700 ou 800
- pour un DVD (simple couche): 4700
Exemple :
export BM_BURNING_MAXSIZE="700"
Options avancées
Les logs
(à compléter)
BM_LOGGER
Voulez-vous que les sorties de backup-manager soient envoyés vers le syslog?
export BM_LOGGER="true"
BM_LOGGER_FACILITY
(à compléter)
export BM_LOGGER_FACILITY="user"
Les commandes extérieures
Un aspect très pratique de backup-manager est de pouvoir exécuter des commandes avant et après la sauvegarde.
Commmande pré
BM_PRE_BACKUP_COMMAND
Ici vous renseignez la commande à effectuer avant une sauvegarde Astuce :
Il peut être intéressant d'executer un petit script qui :
- copie des fichiers de configuration (fstab, xorg.conf, source.list, menu.lst,…) dans le dossier à sauvegarder
- génère la liste des paquets installés
- …
export BM_PRE_BACKUP_COMMAND="sh /home/toto/script_de_pre_sauv.sh"
Commmande post
BM_POST_BACKUP_COMMAND
Ici vous renseignez la commande à effectuer après une sauvegarde.
export BM_POST_BACKUP_COMMAND="sh /home/toto/script_de_post_sauv.sh"
Utilisation
Commandes
Backup-manager peut uniquement être exécuté en tant que super-utilisateur. Vous pouvez obtenir de l'aide sur backup-manager grâce au classique man :
man backup-manager
Ou sous forme synthétique :
sudo backup-manager -h
Je ne traiterais pas de ces commandes car elles sont bien renseignés (et dans la langue de Molière!).
Quelques commandes utiles
Utiliser un autre fichier de configuration :
backup-manager -c /etc/backup-manager/backup_de_mon_home.conf
Graver toutes les archives du 6 novembre 2006 :
sudo backup-manager --burn 20060312
Automatisation avec CRON
Par défaut backup-manager est déjà automatisé avec cron et s'exécute tout les jours. Cette automatisation est faite grâce au script shell : "/etc/cron.daily/backup-manager"
Exemple : Partons du principe que vous voulez :
- sauvez votre /home/toto/ tous les jours de façon incrémentielle
- sauver votre /mnt/musiques tous les mois de façon complète
Il faut donc faire deux fichiers de configuration (sur la base de backup-manager.conf):
- backup-manager_home.conf pour la sauvegarde du /home/toto
- backup-manager_musique.conf pour la sauvegarde du /mnt/musique
Créer deux scripts qui lancent backup-manager dans :
- /etc/cron.daily/backup-manager_scripts_home :
#!/bin/sh /usr/sbin/backup-manager -c /chemin_du_fichier_de_conf/backup-manager_home.conf
- /etc/cron.daily/backup-manager_scripts_musique :
#!/bin/sh /usr/sbin/backup-manager -c /chemin_du_fichier_de_conf/backup-manager_musique.conf