Comment configurer des sauvegardes à distance à l'aide de Bacula sur Ubuntu 20.04
Nous avons récemment créé un fichier sauvegarde sur un local Ubuntu Serveur 20.04 avec Bacula, nous utiliserons ce serveur comme directeur et stockage Bacula. Dans ce tutoriel, nous ajouterons des paramètres pour la sauvegarde d'un client distant.
Installation et configuration du client
Le client est une machine distante exécutant Ubuntu Serveur 20.04 dont les données seront sauvegardées. Installons le paquet Bacula pour cela.
sudo apt install bacula-client
Ouvrez le fichier de configuration.
sudo nano /etc/bacula/bacula-fd.conf
Copiez le mot de passe de la première section du directeur dans un emplacement disponible pour une utilisation future sur le serveur Bacula.
Director {
Name = Ubuntu-Server # Enter the name of the server’s Bacula Director here
Password = "6L8hAXhC3BES4OlbkI2F-v6Xq66Dem05v" #Copy this value
}
Définissez également les valeurs « Name » et « FDAddress » dans la section FileDaemon. Le même nom que nous allons définir sur le serveur Bacula pour ce client de démon de fichiers et « FDAddress » doivent contenir l'adresse IP à laquelle ce client est disponible.
FileDaemon {
Name = Ubuntu-Client-fd
FDport = 9102
WorkingDirectory = /var/lib/bacula
Pid Directory = /run/bacula
Maximum Concurrent Jobs = 20
Plugin Directory = /usr/lib/bacula
FDAddress = 10.5.5.5
}
Enregistrez le fichier et redémarrez le service.
sudo systemctl restart bacula-fd
Pour pouvoir restaurer des fichiers sur cette machine, créez un dossier et faites de bacula son propriétaire.
mkdir /opt/restore
chown bacula:bacula /opt/restore
Configuration du serveur Bacula
Le serveur Bacula est déjà configuré. Nous allons utiliser le stockage existant et ajouter une configuration pour sauvegarder le client.
Définissez l'adresse IP du serveur dans le paramètre « SDAddress » de la section « Stockage » du /etc/bacula/bacula-sd.conf fichier.
Storage {
...
SDAddress = 10.5.5.1
}
Ouvrez le fichier de configuration de Bacula Director /etc/bacula/bacula-dir.conf.
Entrez l'adresse IP du serveur dans le champ "DirAddress" de la section Director.
Director {
Name = Ubuntu-Server
...
DirAddress = 10.5.5.1
}
Saisissez la même adresse dans le paramètre « Adresse » de la section « Stockage ».
Storage {
...
Address = 10.5.5.1
}
Vous devez également le saisir dans le paramètre « Adresse » dans le /etc/bacula/bconsole.conf fichier.
Maintenant, allez à la /etc/bacula/bacula-dir.conf Recopiez le fichier et ajoutez une nouvelle section « Client ».
Client {
Name = Ubuntu-Client-fd # Value of the “Name” field in the “FileDaemon” section on the client
Address = 10.5.5.5 # IP address of the client
FDPort = 9102
Catalog = MyCatalog
Password = "6L8hAXhC3BES4OlbkI2F-v6Xq66Dem05v" # Paste here the value of the “Password” parameter in the “Director” section on the client
}
Ajoutez une nouvelle section « FileSet » avec un nom unique. Les paramètres « File » définissent les chemins à sauvegarder. Vous pouvez en ajouter autant que vous le souhaitez.
FileSet {
Name = "RemoteFS"
Include {
Options {
signature = MD5
}
File = /home/user1
File = /home/user2
}
}
Ajoutez une nouvelle section "Planification", définissez-lui un nom unique et sélectionnez une heure pour la sauvegarde.
Schedule {
Name = "RemoteDaily"
Run = Full daily at 05:00
}
Ajouter une nouvelle section Piscine.
Pool {
Name = RemotePool
Pool Type = Backup
Label Format = "RM-" # New label for separating files in the backup storage from local backups
}
Ajouter une nouvelle section Emploi.
Job {
Client = "Ubuntu-Client-fd" # The “Name” value of the recently created “Client”
Name = "RemoteBackup"
JobDefs = "DefaultJob"
Enabled = yes
Level = Full
FileSet = "RemoteFS" # The name of recently added “FileSet’ section
Schedule = "RemoteDaily" # The name of the schedule for this Job
Pool = "RemotePool" # Must be equal to the recently created “Pool” name
Storage = LocalSD
Write Bootstrap = "/var/lib/bacula/RemoteBackup.bsr"
}
Ajoutez également la section "Travail" pour pouvoir restaurer les données.
Job {
Name = "RemoteRestore"
Type = Restore
Client= "Ubuntu-Client-fd"
FileSet="Full Set"
Storage = LocalSD
Pool = "RemotePool"
Messages = Standard
Where = /opt/restore # Path to the folder that we created on the client for data restore
Bootstrap = "/var/lib/bacula/RemoteBackup.bsr"
}
Enregistrez et fermez le fichier et redémarrez le service Bacula.
sudo systemctl restart bacula-dir
Exécution de la sauvegarde du serveur distant à l'aide de Bacula
La tâche de sauvegarde va maintenant démarrer à l'heure planifiée. Pour le démarrer immédiatement, rendez-vous dans la "bconsole".
bconsole
Sortie :
Connecting to Director 10.5.5.1:9101
1000 OK: 103 Ubuntu-Server Version: 9.4.2 (04 February 2019)
Enter a period to cancel a command.
*
Entrez « run » et sélectionnez la tâche « RemoteBackup ». Vous pouvez maintenant vérifier, modifier ou confirmer les paramètres répertoriés. Vous pouvez également modifier la destination de récupération des fichiers à cette étape, par exemple. Cela peut être utile en cas de perte d'un client.
Run Backup job
JobName: RemoteBackup
Level: Full
Client: Ubuntu-Client-fd
FileSet: RemoteFS
Pool: RemotePool (From Job resource)
Storage: LocalSD (From Job resource)
...
Pour afficher les informations sur les tâches planifiées, en cours d'exécution et terminées, saisissez « status » puis « 1 ».
Pour restaurer les données, entrez la commande « restaurer » dans la bconsole et suivez les instructions.


