26.05.2023

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 installer 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.

Directeur {
Nom = Ubuntu-Server # Entrez ici le nom du directeur Bacula du serveur
Mot de passe = "6L8hAXhC3BES4OlbkI2F-v6Xq66Dem05v" #Copier cette valeur
}

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.

Démon de fichier {
Nom = Ubuntu-Client-fd
FDport = 9102
Répertoire de travail = /var/lib/bacula
Répertoire Pid = /run/bacula
Tâches simultanées maximales = 20
Répertoire des plugins = /usr/lib/bacula
Adresse FDA = 10.5.5.5
}

Enregistrez le fichier et redémarrez le service.

sudo systemctl redémarrer bacula-fd

Pour pouvoir restaurer des fichiers sur cette machine, créez un dossier et faites de bacula son propriétaire.

mkdir /opt/restaurer
chown bacula:bacula /opt/restaurer

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.

Stockage {

Adresse SD = 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.

Directeur {
Nom = Ubuntuserveur

AdresseDir = 10.5.5.1
}

Entrez la même adresse dans la page "Adresse"ramètre de la section « Stockage ».

Stockage {

Adresse = 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 {
Nom = Ubuntu-Client-fd # Valeur du champ "Name" dans la section "FileDaemon" sur le client
Adresse = 10.5.5.5 # Adresse IP du client
PortFD = 9102
Catalogue = MonCatalogue
Mot de passe = "6L8hAXhC3BES4OlbkI2F-v6Xq66Dem05v" # Collez ici la valeur du "Mot de passe" parameter dans la section "Directeur" sur le 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.

Ensemble de fichiers {
Nom = "RemoteFS"
Inclure {
Choix {
signatvaleur = MD5
}
Fichier = /home/user1
Fichier = /home/user2
}
}

Ajoutez une nouvelle section "Planification", définissez-lui un nom unique et sélectionnez une heure pour la sauvegarde.

Calendrier {
Nom = "Tous les jours à distance"
Exécuter = Complet tous les jours à 05h00
}

Ajouter une nouvelle section Piscine.

Piscine {
Nom = RemotePool
Type de pool = Sauvegarde
Format d'étiquette = "RM-" # Nouvelle étiquette pour séparer les fichiers dans le stockage de sauvegarde des sauvegardes locales
}

Ajouter une nouvelle section Emploi.

Emploi {
Client = "Ubuntu-Client-fd" # La valeur "Name" du " récemment crééClient"
Nom = "Sauvegarde à distance"
JobDefs = "Travail par défaut"
Activé = oui
Niveau = Complet
FileSet = "RemoteFS" # Le nom de la section "FileSet" récemment ajoutée
Schedule = "RemoteDaily" # Le nom de la planification pour cette tâche
Pool = "RemotePool" # Doit être égal au nom "Pool" récemment créé
Stockage = LocalSD
Ecrire Bootstrap = "/var/lib/bacula/RemoteBackup.bsr"
}

Ajoutez également la section "Travail" pour pouvoir restaurer les données.

Emploi {
Nom = "RemoteRestore"
Tapez = Restaurer
Client= "Ubuntu-Client-fd"
FileSet="Ensemble complet"
Stockage = LocalSD
Pool = "RemotePool"
Messages = Standard
Où = /opt/restore # Chemin d'accès au dossier que nous avons créé sur le client pour la restauration des données
Bootstrap = "/var/lib/bacula/RemoteBackup.bsr"
}

Enregistrez et fermez le fichier et redémarrez le service Bacula.

sudo systemctl redémarrer 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 :

Connexion au directeur 10.5.5.1:9101
1000 OK : 103 Ubuntu-Version serveur : 9.4.2 (04 février 2019)
Saisissez un délai pour annuler une commande.
*

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.

Exécuter le travail de sauvegarde
Nom de la tâche : RemoteBackup
Niveau : Complet
Client : Ubuntu-Client-fd
Ensemble de fichiers : RemoteFS
Pool : RemotePool (à partir de la ressource Job)
Stockage : LocalSD (à partir de la ressource Job)

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.