Installer Bacula Backup Server sur Ubuntu 20.04

Bacula est un outil de sauvegarde open-source qui peut être utilisé pour sauvegarder et restaurer des données sur le réseau. C’est un outil simple et facile à utiliser, et il offre de nombreuses fonctions avancées de gestion du stockage qui t’aident à sauvegarder et à récupérer tes fichiers perdus facilement. Il prend en charge le client de sauvegarde Linux, Windows et macOS et supporte également une large gamme de dispositifs de sauvegarde. Bacula est constitué de plusieurs composants, dont le répertoire Bacula, la console Bacula, le stockage Bacula, le fichier Bacula et le catalogue Bacula. Chaque composant est responsable de la gestion de tâches spécifiques.

Dans ce tutoriel, nous allons te montrer comment installer et configurer le système de sauvegarde Backup sur Ubuntu 20.04.

Conditions préalables

  • Un serveur exécutant Ubuntu 20.04 avec au moins 2 Go de RAM.
  • Un mot de passe root est configuré sur le serveur.

Démarrage

Tout d’abord, tu dois mettre à jour ton système avec la dernière version stable. Tu peux le mettre à jour avec la commande suivante :

apt-get update -y

Une fois que tous les paquets sont mis à jour, tu peux passer à l’étape suivante.

Installe Bacula

Par défaut, le paquet Bacula est disponible dans le dépôt par défaut d’Ubuntu 20.04. Tu peux l’installer facilement à l’aide de la commande suivante :

apt-get install bacula -y

Pendant l’installation, il te sera demandé de sélectionner le serveur de messagerie comme indiqué ci-dessous :

Postfix configuration

Sélectionne le serveur de messagerie de ton choix et clique sur le bouton Ok. Il te sera demandé de fournir le nom de ta messagerie système comme indiqué ci-dessous :

Nom du courrier du système

Indique le nom de ta messagerie système et clique sur le bouton Ok. Il te sera demandé de configurer une base de données pour bacula comme indiqué ci-dessous :

Bacula directore Postgres

Clique sur le bouton Oui. Il te sera demandé de sélectionner l’hôte du serveur PostgreSQL comme indiqué ci-dessous :

Hôte de la base de données PostgreSQL

Sélectionne localhost et clique sur le bouton Ok. Il te sera demandé de fournir le mot de passe PostgreSQL comme indiqué ci-dessous :

PostgreSQL password

Indique le mot de passe de ton choix et clique sur le bouton Ok pour poursuivre l’installation.

Une fois que le pack Bacula est installé, tu peux passer à l’étape suivante.

Configurer le stockage de Bacula

Avant de commencer, crée un répertoire pour stocker les fichiers de sauvegarde. Tu peux le créer avec la commande suivante :

mkdir /backup

Ensuite, change la propriété du répertoire bacula à l’utilisateur et au groupe bacula avec la commande suivante :

chown -R bacula:bacula /backup

Ensuite, tu devras modifier le fichier de configuration par défaut du stockage bacula et définir le périphérique et l’emplacement du stockage.

nano /etc/bacula/bacula-sd.conf

Supprime ou commente les autres sections « Device { » et « Autochanger { » et ajoute les lignes suivantes :

Device {
Name = Local-device
Media Type = File
Archive Device = /backup
LabelMedia = yes; # lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
Maximum Concurrent Jobs = 5
}

Sauvegarde et ferme le fichier lorsque tu as terminé. Ensuite, redémarre le service de stockage Bacula à l’aide de la commande suivante :

systemctl restart bacula-sd.service

Tu peux maintenant vérifier l’état du stockage Bacula avec la commande suivante :

systemctl status bacula-sd

Tu devrais obtenir la sortie suivante :

? bacula-sd.service - Bacula Storage Daemon service
     Loaded: loaded (/lib/systemd/system/bacula-sd.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-10-06 09:32:43 UTC; 8s ago
       Docs: man:bacula-sd(8)
    Process: 10687 ExecStartPre=/usr/sbin/bacula-sd -t -c $CONFIG (code=exited, status=0/SUCCESS)
   Main PID: 10688 (bacula-sd)
      Tasks: 2 (limit: 4691)
     Memory: 1.0M
     CGroup: /system.slice/bacula-sd.service
             ??10688 /usr/sbin/bacula-sd -fP -c /etc/bacula/bacula-sd.conf

Oct 06 09:32:43 ubuntu2004 systemd[1]: Starting Bacula Storage Daemon service...
Oct 06 09:32:43 ubuntu2004 systemd[1]: Started Bacula Storage Daemon service.

Configurer Bacula Director

Ensuite, tu devras modifier le fichier de configuration du Bacula Director et indiquer ton emplacement de stockage. Tu peux le modifier avec la commande suivante :

nano /etc/bacula/bacula-dir.conf

Ajoute les lignes suivantes, notamment : Nom du périphérique, Nom du stockage, Mot de passe, Travail, etc.

Storage {
Name = ubuntu2004-sd  # Must be equal to the "Name" parameter of the "Storage" section in the /etc/bacula/bacula-sd.conf file
Address = 127.0.0.1
Password = "aFEH-0a3QycsbYQVcoy_VoUMhAHJQ00CD" # Password must match the password in the /etc/bacula/bacula-sd.conf
Device = Local-device
Media Type = File
}

FileSet {
Name = "Local-file"
Include {
Options {
signature = MD5
}
File = /etc 
}
}

Schedule {
Name = "LocalDaily"
Run = Full daily at 06:00
}

Job {
Name = "LocalBackup"
JobDefs = "DefaultJob"
Enabled = yes
Level = Full
FileSet = "Local-file"
Schedule = "LocalDaily"
Storage = ubuntu2004-sd
Write Bootstrap = "/var/lib/bacula/LocalhostBackup.bsr"
}

Sauvegarde et ferme le fichier lorsque tu as terminé puis redémarre le service Bacula director pour appliquer les modifications :

systemctl restart bacula-dir

Tu peux aussi vérifier l’état du service Bacula director avec la commande suivante :

systemctl status bacula-dir

Tu devrais obtenir la sortie suivante :

? bacula-director.service - Bacula Director Daemon service
     Loaded: loaded (/lib/systemd/system/bacula-director.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-10-06 09:32:43 UTC; 9s ago
       Docs: man:bacula-dir(8)
    Process: 10667 ExecStartPre=/usr/sbin/bacula-dir -t -c $CONFIG (code=exited, status=0/SUCCESS)
   Main PID: 10683 (bacula-dir)
      Tasks: 3 (limit: 4691)
     Memory: 2.1M
     CGroup: /system.slice/bacula-director.service
             ??10683 /usr/sbin/bacula-dir -fP -c /etc/bacula/bacula-dir.conf

Oct 06 09:32:43 ubuntu2004 systemd[1]: Starting Bacula Director Daemon service...
Oct 06 09:32:43 ubuntu2004 systemd[1]: Started Bacula Director Daemon service.

Vérifier le travail de sauvegarde

À ce stade, Bacula est installé et configuré pour s’exécuter quotidiennement à 6:00. Maintenant, utilisons la Console Bacula pour exécuter notre première tâche de sauvegarde.

bconsole

Une fois connecté, tu devrais obtenir la sortie suivante :

Connecting to Director localhost:9101
1000 OK: 103 ubuntu2004-dir Version: 9.4.2 (04 February 2019)
Enter a period to cancel a command.

Ensuite, exécute la commande suivante pour lancer la tâche de sauvegarde :

*run

Tu seras invité à sélectionner la tâche de sauvegarde comme indiqué ci-dessous :

Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
A job name must be specified.
The defined Job resources are:
     1: BackupClient1
     2: LocalBackup
     3: BackupCatalog
     4: RestoreFiles
Select Job resource (1-4): 2

Tape 2 pour sélectionner le LocalBackup que tu as défini dans le fichier de configuration et appuie sur Entrée. Tu devrais voir la sortie suivante :

Run Backup job
JobName:  LocalBackup
Level:    Full
Client:   ubuntu2004-fd
FileSet:  Local-file
Pool:     File (From Job resource)
Storage:  ubuntu2004-sd (From Job resource)
When:     2020-10-06 09:50:47
Priority: 10
OK to run? (yes/mod/no): yes
Job queued. JobId=3
You have messages.

À ce stade, la tâche de sauvegarde est lancée. Tu peux vérifier l’état de la tâche de sauvegarde avec la commande suivante :

*status

Il te sera demandé de sélectionner l’état des composants suivants :

Status available for:
     1: Director
     2: Storage
     3: Client
     4: Scheduled
     5: Network
     6: All
Select daemon type for status (1-6): 1

Tape 1 et appuie sur Entrée pour vérifier l’état du directeur. Tu devrais voir la sortie suivante :

ubuntu2004-dir Version: 9.4.2 (04 February 2019) x86_64-pc-linux-gnu ubuntu 20.04
Daemon started 06-Oct-20 09:50, conf reloaded 06-Oct-2020 09:50:27
 Jobs: run=1, running=0 mode=0,0
 Heap: heap=274,432 smbytes=106,782 max_bytes=135,168 bufs=343 max_bufs=377
 Res: njobs=4 nclients=1 nstores=3 npools=3 ncats=1 nfsets=3 nscheds=3

Scheduled Jobs:
Level          Type     Pri  Scheduled          Job Name           Volume
===================================================================================
Full           Backup    10  07-Oct-20 06:00    LocalBackup        Vol-0001
====

Running Jobs:
Console connected at 06-Oct-20 09:50
No Jobs running.
====

Terminated Jobs:
 JobId  Level      Files    Bytes   Status   Finished        Name 
====================================================================
     1  Full       2,262    2.875 M  OK       06-Oct-20 09:50 LocalBackup

====

Ensuite, exécute à nouveau la commande status et vérifie l’état du stockage Bacula.

*status

Tu devrais voir le résultat suivant :

Status available for:
     1: Director
     2: Storage
     3: Client
     4: Scheduled
     5: Network
     6: All
Select daemon type for status (1-6): 2
The defined Storage resources are:
     1: File1
     2: ubuntu2004-sd
Select Storage resource (1-2): 1
Connecting to Storage daemon File1 at localhost:9103

ubuntu2004-sd Version: 9.4.2 (04 February 2019) x86_64-pc-linux-gnu ubuntu 20.04
Daemon started 06-Oct-20 09:50. Jobs: run=1, running=0.
 Heap: heap=106,496 smbytes=369,301 max_bytes=567,404 bufs=90 max_bufs=110
 Sizes: boffset_t=8 size_t=8 int32_t=4 int64_t=8 mode=0,0 newbsr=0
 Res: ndevices=1 nautochgr=0

Running Jobs:
No Jobs running.
====

Jobs waiting to reserve a drive:
====

Terminated Jobs:
 JobId  Level    Files      Bytes   Status   Finished        Name 
===================================================================
     3  Full      2,262    3.156 M  OK       06-Oct-20 09:50 LocalBackup
====

Device status:

Device File: "Local-device" (/backup) is not open.
   Available Space=93.95 GB
==
====

Used Volume status:
====

Attr spooling: 0 active jobs, 454,546 bytes; 1 total jobs, 454,546 max bytes.
====

Ensuite, quitte la console Bacula avec la commande suivante :

*exit

Ensuite, vérifie le répertoire de sauvegarde avec la commande suivante :

ls /backup/

Tu devrais voir que la sauvegarde Vol-0001 est créée :

Vol-0001

Conclusion

Félicitations ! Tu as réussi à installer et à configurer la sauvegarde Bacula sur le serveur Ubuntu 20.04. Tu peux maintenant installer le client Bacula sur la machine distante et sauvegarder facilement ton système client. N’hésite pas à me demander si tu as des questions.

Vous aimerez aussi...