Une sauvegarde est essentielle sur un serveur SCRIBE. Elle permet de dépanner en cas :
Le logiciel qui permet de sauvegarder le serveur est BACULA. Il s'agit d'un logiciel open-source de sauvegarde, le plus utilisé en entreprise. Il est intégré nativement sur les SCRIBE.
Actuellement, 2 types de support peuvent être utilisés pour sauvegarder un serveur SCRIBE :
Le plus utilisé actuellement, mais aussi le moins cher mais le moins sécurisé, est le disque dur USB. L'inconvénient majeur est que l'on ne peut pas facilement déporté le disque dur. Il est donc relié physiquement au serveur.
Le disque dur USB devra avoir ces caractéristiques :
Voici quelques modèles recommandés.
2 ou 3 types de sauvegardes sont nécessaires selon votre version de Scribe :
Voici la liste des répertoires et fichiers sauvegardés par Bacula (uniquement ce qui est nécessaire) :
Il est possible d'ajouter des répertoires à cette liste : Voir la FAQ.
Dans ce cas, on utilisera l'uuid de la partition de sauvegarde comme chemin d'accès. Cela évite que la sauvegarde se fasse dans /boot en cas d'inversion entre sda et sdb.
Pour connaître le chemin à déclarer dans la configuration de bacula (le disque USB doit être branché):
blkid
On peut alors voir l'UUID des partitions mais aussi leur LABEL ainsi que le système de fichier utilisé :
Ou encore:
ls -l /dev/disk/by-uuid/
On visualise alors les liens symboliques “uuid” vers les partitions.
On voit dans cet exemple que l'uuid de la partition sdb1 : 492B-B037
Le chemin d'accès à déclarer sera donc /dev/disk/by-uuid/492B-B037
Si l'accès au partage est authentifié avec un compte local, celui-ci doit être renseigné sous la forme <machine>\<login>
Sur scribe 2.3 il est nécessaire de changer les droits sur le point de montage /mnt/sauvegardes
Monter d'abord le support avec la commande
/usr/share/eole/bacula/baculamount.py --mount
puis
cd /mnt chown -R bacula:root /mnt/sauvegardes /usr/share/eole/bacula/baculamount.py –umount
Pour restaurer totalement un serveur, on utilisera cette procédure, utilisée principalement dans le cas précis d'un crash de serveur.
Tout se passe à la console du serveur, directement sur le serveur ou en SSH via Putty ou un terminal Gnu/Linux.
Que ce soit sauvegardé sur un support distant (NAS) ou un disque dur USB, pour monter le support de sauvegarde, une seule commande :
Montage :
/usr/share/eole/bacula/montage.sh pre
Démontage :
/usr/share/eole/bacula/montage.sh post
Montage :
/usr/share/eole/bacula/baculamount.py --mount
Démontage :
/usr/share/eole/bacula/baculamount.py --umount
Le montage se fait dans un dossier différent si l'on est sur Scribe 2.2 (/var/sauvegardes) ou Scribe 2.3 (/mnt/sauvegardes).
On pourra donc vérifier que le point de montage contient bien les fichiers de la sauvegarde en tapant la commande :
ls /var/sauvegardes
ou
ls /mnt/sauvegardes
Exemple sur Scribe 2.2 :
bconsole
A partir de là, le prompt est devenu une *.
On peut passer des commandes bconsole. Pour avoir la liste des commandes :
help
Quelques commandes utiles :
En tapant :
5
On sélectionne la sauvegarde la plus récente. On peut taper 6 si on veut restaurer à une date précise.
C'est ce menu qui apparaît :
Il faut taper ensuite
3
L'arborescence des fichiers sauvegardés est maintenant construite comme le montre cette capture :
A la fin de la construction, le prompt est maintenant devenu $.
On va pouvoir se déplacer dans l'arborescence, en utilisant les commandes suivantes :
Cela nécessite donc de connaître l'emplacement des fichiers à restaurer.
cd /home/p/prenom.nom/perso/
puis listing des fichiers sauvegardés dans ce dossier
ls
Pour cela, nous allons utiliser la commande mark. On peut marquer un fichier ou un dossier. Par défaut, si on marque un dossier, tous les fichiers contenus à l'intérieur seront restaurés. C'est une commande récursive.
Exemple :
On veut restaurer le fichier sncf.mdb :
mark sncf.mdb
Ici, nous avons un menu qui permet plusieurs types de restauration :
On restaure donc uniquement nos fichiers, on tape donc :
1
Par défaut, les fichiers seront restaurés à leur emplacement d'origine à partir de la racine / et la restauration sera lancée immédiatement.
Pour cela, il faut écrire :
yes
La restauration est lancée, vous pouvez voir l'évolution (en tapant sur la touche Entrée):
autodisplay on
La restauration est terminée uniquement si vous voyez apparaître * Restauration terminée *
Pour restaurer dans un autre répertoire (non obligatoire)
OK to run? (oui/mod/non), on tapera :
mod
Le menu suivant apparaît :
Sélectionner ensuite : 9 (where)
Destination et saisir le chemin (prefix) pour la restauration.
Exemple : /home/restauration/.
On peut aussi modifier l'heure de restauration en utilisant la commande when
Pour vérifier que les fichiers ont bien été restaurés, 2 façons simples :
Toujours en tant que ROOT:
bconsole
et au lieu de saisir restore on tape cancel, une liste va apparaitre et il reste plus qu'à choisir le job à annuler.
Il y'a noté * Restauration terminée * (lorsqu'on a utilisé la commande autodisplay on), c'est donc fini, on peut quitter l'utilitaire :
quit
/usr/share/eole/bacula/montage.sh post
Scribe 2.3 :
/usr/share/eole/bacula/baculamount.py –umount