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 allons ajouter des paramètres pour sauvegarder une télécommande client.
Installation et configuration du client
La client est une machine distante en cours d'exécution 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 démon de fichier client, et "FDAddress" doit contenir l'adresse IP à laquelle ce cliest 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 pa "SDAddress"rammètre de la section « Stockage » dans /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
}
Entrez la même adresse dans la page "Adresse"ramètre de la section « Stockage ».
Storage {
...
Address = 10.5.5.1
}
Vous devez également l'entrer dans le pa "Adresse"rameter dans le /etc/bacula/bconsole.conf fichier.
Maintenant, allez à la /etc/bacula/bacula-dir.conf fichier à nouveau et ajouter un nouveau "Clisection ent ».
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. Le "Fichier" parameters définissent les chemins à sauvegarder. Vous pouvez en ajouter n'importe quel nombre.
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 "exécuter" et sélectionnez la tâche "RemoteBackup". Vous pouvez maintenant vérifier, modifier ou confirmer le pa répertoriérameters. Vous pouvez également modifier la destinationnation pour la récupération de fichiers dans cette étape, par exemple. Il peut être utile dans le cas de cliente perte.
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 des informations sur les programmes programmés, en cours d'exécution et terminated Jobs, tapez "status" et "1" ensuite.
Pour restaurer les données, entrez la commande « restaurer » dans la bconsole et suivez les instructions.