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 :
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 :
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 :
Clique sur le bouton Oui. Il te sera demandé de sélectionner l’hôte du serveur PostgreSQL comme indiqué ci-dessous :
Sélectionne localhost et clique sur le bouton Ok. Il te sera demandé de fournir le mot de passe PostgreSQL comme indiqué ci-dessous :
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.