Source: Digital Ocean
On doit avoir au préalable un Bacula Server (Director)
Configuration du serveur Bacula (Sur le Serveur)
Sur le Director on doit faire cette procédure une seule fois. Ça permet de mieux organiser les fichiers.
sudo mkdir /etc/bacula/conf.d sudo nano /etc/bacula/bacula-dir.conf #Ajouter la ligne à la fin du fichier @|"find /etc/bacula/conf.d -name '*.conf' -type f -exec echo @{} \;"
Pour créer un pool pour stocker les fichiers générer par les backups.
Vous pouvez personnaliser ces paramètres pour répondre à votre besoin.
sudo nano /etc/bacula/conf.d/pools.conf # Ajouter ce contenu dans le fichier Pool { Name = RemoteFile # Le nom du pool Pool Type = Backup Label Format = Remote- Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365 days # one year Maximum Volume Bytes = 50G # Limit Volume size to something reasonable Maximum Volumes = 100 # Limit number of Volumes in Pool }
Vérifier la configuration
sudo bacula-dir -tc /etc/bacula/bacula-dir.conf
Installation et configuration du client (Sur le Client)
sudo apt-get update sudo apt-get install bacula-client
Configuration du client pour le connecter au serveur
sudo nano /etc/bacula/bacula-fd.conf #Changer les informations ci-dessous: Director { Name = nom-du-serverBacula-dir Password = "UnMotDePasse" # Le mot de passe doit être copier pour pouvoir le donner au director et permettre une connexion. } FileDaemon { # this is me Name = nom-du-client-fd # Changer pour le nom du client(Par défaut c'est le bon nom) FDport = 9102 # where we listen for the director WorkingDirectory = /var/lib/bacula Pid Directory = /var/run/bacula Maximum Concurrent Jobs = 20 FDAddress = client_private_FQDN-ou-IP #(Entrer l'adresse IP du client) } Messages { Name = Standard director = Nom-du-serverBacula-dir = all, !skipped, !restored #Entrer le nom du serveur Bacula }
Valider que la configuration est valide
sudo bacula-fd -tc /etc/bacula/bacula-fd.conf sudo service bacula-fd restart
Création du répertoire qui va recevoir les Restaurations du serveur et protection de celui-ci.
sudo mkdir -p /bacula/restore sudo chown -R bacula:bacula /bacula sudo chmod -R 700 /bacula
De retour sur le Director (Sur le Serveur)
sudo nano /etc/bacula/conf.d/filesets.conf # Configurer les fichiers à copier, Ajouter des éléments selon votre besoin FileSet { Name = "Home and Etc" Include { Options { signature = MD5 compression = GZIP } File = /home File = /etc } Exclude { File = /home/bacula/not_important } }
Ajouter le client au serveur (Sur le Serveur)
sudo nano /etc/bacula/conf.d/clients.conf # Pour chaque client on doit créer ses deux sections Client { Name = le-nom-du-client-fd Address = client_private_FQDN-ou-IP # L'adresse IP du Client FDPort = 9102 Catalog = MyCatalog Password = "le-mot-de-passe-copié" # password for Remote FileDaemon File Retention = 30 days # 30 days Job Retention = 6 months # six months AutoPrune = yes # Prune expired Jobs/Files } Job { Name = "BackupClientHost" # Le nom de la tâche JobDefs = "DefaultJob" Client = ClientHost-fd # Le nom du client Pool = RemoteFile # Dans quel Pool FileSet="Home and Etc" # La stratégie de copie des fichiers }
Vérification de la configurtaiton
sudo bacula-dir -tc /etc/bacula/bacula-dir.conf sudo service bacula-director restart
Tester la connexion entre le client et le serveur
Sur le serveur entrer :
# Pour entrer dans la console de management sudo bconsole # Pour voir la liste des clients status client # Choisir un client avec son Numéro # Valider que la connexion s'effectue # HINT: Si la connexion ne ce fait pas, Valider les règles du Firewall # Ensuite pour lancer une tâche : run # Choisir le numéro du client # Pour le premier Backup, faire un full mod 1 # Pour changer le noveau # Choisir full 1 #Ensuite on peut lancer la tâche yes # Pour voir le status de la tâche status director # Pour voir les logs. messages