La sauvegarde : Bacula

Bacula

Introduction

Bacula est un ensemble de programmes qui vous permet de gérer vos sauvegardes, restaurations ou vérifications de données d'un ordinateur sur un réseau hétérogène.

En termes techniques, il s'agit d'un programme de sauvegarde client/serveur.

Bacula est relativement facile d'utilisation et efficace, tout en offant de nombreuses fonctions avancées de gestion de stockage qui facilitent la recherche et la restauration de fichiers perdus ou endommagés.

La plupart du code source de Bacula a été publiée sous une version quelque peu modifiée de la license GPL version 2. Pour toute information complémentaire sur la license, merci de suivre le lien du menu.

Son nom est une référence au mot "Backup" (sauvegarde) et à Dracula. Le slogan dit : "Il arrive la nuit et absorbe l’essence vitale de vos ordinateurs".

Il est utilisé pour sauvegarder via la réseau un ensemble de postes clients et de serveurs. Son originalité réside, en partie, dans le fait qu'il utilise un SGBD libre (MySQL, PostgreSQL...) pour gérer le catalogue des sauvegardes.

Architecture

Architecture

Il faut savoir que tous ces composants peuvent être installés sur des machines dédiées mais bien sûr ce n’est pas obligatoire.

Comme dans l’exemple ci-dessous, on peut avoir d’autres types d’architecture pour faire de la sauvegarde à distance.

Architecture

Configuration

Il y a 4 fichiers de configuration différents :

Tous les fichiers de configuration sont basés sur le même principe, les différents paramètres se présentent sous forme de fonctions, un peu comme un langage de programmation. Ce système permet une grande modularité.

Voici un exemple de fichier de configuration pour le directeur :

Director {
  Name = rufus-dir
  Password = "/LqPRkX++saVyQE7w7mmiFg/qxYc1kufww6FEyY/47jU"
}

# Restricted Director, used by tray-monitor to get the
#   status of the file daemon
Director {
  Name = rufus-mon
  Password = "FYpq4yyI1y562EMS35bA0J0QC0M2L3t5cZObxT3XQxgxppTn"
  Monitor = yes
}

# "Global" File daemon configuration specifications
FileDaemon {                          # this is me
  Name = rufus-fd
  WorkingDirectory = $HOME/bacula/bin/working
  Pid Directory = $HOME/bacula/bin/working
}

# Send all messages except skipped files back to Director
Messages {
  Name = Standard
  director = rufus-dir = all, !skipped
}
                

GUI

Il existe principalement à ce jour deux add-ons d'interface graphique web pour Bacula :