Bacula Client

Source: Digital Ocean
On doit avoir au préalable un Bacula Server (Director)

Configuration du serveur Bacula (Sur le Serveur)

Sur le Director on doit faire cette procédure une seule fois. Ça permet de mieux organiser les fichiers.

sudo mkdir /etc/bacula/conf.d
sudo nano /etc/bacula/bacula-dir.conf
#Ajouter la ligne à la fin du fichier
@|"find /etc/bacula/conf.d -name '*.conf' -type f -exec echo @{} \;"

Pour créer un pool pour stocker les fichiers générer par les backups.
Vous pouvez personnaliser ces paramètres pour répondre à votre besoin.

sudo nano /etc/bacula/conf.d/pools.conf
# Ajouter ce contenu dans le fichier
Pool {
  Name = RemoteFile # Le nom du pool
  Pool Type = Backup
  Label Format = Remote-
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
  Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable
  Maximum Volumes = 100               # Limit number of Volumes in Pool
}

Vérifier la configuration

sudo bacula-dir -tc /etc/bacula/bacula-dir.conf

 Installation et configuration du client (Sur le Client)

sudo apt-get update
sudo apt-get install bacula-client

Configuration du client pour le connecter au serveur

sudo nano /etc/bacula/bacula-fd.conf
#Changer les informations ci-dessous:

Director {
  Name = nom-du-serverBacula-dir
  Password = "UnMotDePasse" # Le mot de passe doit être copier pour pouvoir le donner au director et permettre une connexion.
}


FileDaemon {                          # this is me
  Name = nom-du-client-fd # Changer pour le nom du client(Par défaut c'est le bon nom)
  FDport = 9102                  # where we listen for the director
  WorkingDirectory = /var/lib/bacula
  Pid Directory = /var/run/bacula
  Maximum Concurrent Jobs = 20
  FDAddress = client_private_FQDN-ou-IP #(Entrer l'adresse IP du client)
}

Messages {
  Name = Standard
  director =  Nom-du-serverBacula-dir = all, !skipped, !restored #Entrer le nom du serveur Bacula
}

Valider que la configuration est valide

sudo bacula-fd -tc /etc/bacula/bacula-fd.conf

sudo service bacula-fd restart

Création du répertoire qui va recevoir les Restaurations du serveur et protection de celui-ci.

sudo mkdir -p /bacula/restore
sudo chown -R bacula:bacula /bacula
sudo chmod -R 700 /bacula

De retour sur le Director (Sur le Serveur)

sudo nano /etc/bacula/conf.d/filesets.conf
# Configurer les fichiers à copier, Ajouter des éléments selon votre besoin

FileSet {
 Name = "Home and Etc"
 Include {
    Options {
      signature = MD5
      compression = GZIP
    }
    File = /home
    File = /etc
 }
 Exclude {
    File = /home/bacula/not_important
 }
}

Ajouter le client au serveur (Sur le Serveur)

sudo nano /etc/bacula/conf.d/clients.conf
# Pour chaque client on doit créer ses deux sections
Client {
 Name = le-nom-du-client-fd
 Address = client_private_FQDN-ou-IP # L'adresse IP du Client
 FDPort = 9102
 Catalog = MyCatalog
 Password = "le-mot-de-passe-copié"          # password for Remote FileDaemon
 File Retention = 30 days            # 30 days
 Job Retention = 6 months            # six months
 AutoPrune = yes                     # Prune expired Jobs/Files
}

Job {
 Name = "BackupClientHost" # Le nom de la tâche
 JobDefs = "DefaultJob"
 Client = ClientHost-fd    # Le nom du client
 Pool = RemoteFile         # Dans quel Pool
 FileSet="Home and Etc"    # La stratégie de copie des fichiers
}

Vérification de la configurtaiton

sudo bacula-dir -tc /etc/bacula/bacula-dir.conf

sudo service bacula-director restart

Tester la connexion entre le client et le serveur

Sur le serveur entrer :

# Pour entrer dans la console de management
sudo bconsole 
# Pour voir la liste des clients
status client
# Choisir un client avec son Numéro
# Valider que la connexion s'effectue
# HINT: Si la connexion ne ce fait pas, Valider les règles du Firewall
# Ensuite pour lancer une tâche :
run
# Choisir le numéro du client
# Pour le premier Backup, faire un full
mod
1 # Pour changer le noveau
# Choisir full
1
#Ensuite on peut lancer la tâche
yes
# Pour voir le status de la tâche
status director
# Pour voir les logs.
messages

Laisser un commentaire