nouvelles
Serverspace a ajouté un nouveau Rocky Linux OS
JH
Joe Harris
1 décembre 2020
Mise à jour en mai 26, 2023

Comment sauvegarder MySQL on CentOS 8 avec Bacula

sauvegarde CentOS Linux

Nous avons déjà brièvement examiné en quoi consiste le Bakula. Dans ce tutoriel, nous allons mettre en place un MySQL processus de sauvegarde de base de données à l'aide de Bacula sur CentOS. Si vous souhaitez mettre en place sauvegardes d'une télécommande CentOS 8 serveur, lisez cet article. Après avoir terminé ces paramètres, vous pouvez simplement ajouter les paramètres de ce didacticiel et obtenir une sauvegarde du MySQL base de données à partir d'un serveur distant.
Dans le Serverspace vous pouvez créer un serveur avec l'application déjà installée "MySQL".

Installation des packages

Installons tous les packages nécessaires.

dnf install bacula-director bacula-storage bacula-console bacula-client

MySQL paramétrage

Remplacez le système de gestion de base de données par défaut par MySQL s'il n'est pas déjà défini.

alternatives --config libbaccats.so
There are 3 programs which provide 'libbaccats.so'.
Selection Command
-----------------------------------------------
1 /usr/lib64/libbaccats-mysql.so
...

Sélectionnez 1.
Connectez-vous à MySQL.

mysql -u root -p

Créez une base de données et un utilisateur pour Bacula.

create database bacula;
create user bacula@localhost identified by 'password';
grant all privileges on bacula.* to bacula@'localhost';
flush privileges;
exit

Exécutez ce script pour créer la structure de la table.

/usr/libexec/bacula/make_mysql_tables -p

Pour la tâche de sauvegarde, créez un nouvel utilisateur et attribuez-lui uniquement les droits d'accès nécessaires.

mysql -u root -p
create user dump@localhost identified by 'password';
grant select, lock tables on *.* to dump@localhost;
grant process on *.* to dump@localhost;
flush privileges;
exit

Préparation de scripts

Pour rendre Bacula capable de créer des sauvegardes d'un MySQL base de données, vous devez d'abord la vider. Nous utiliserons la capacité de Bakula à exécuter des scripts personnalisés avant et après la tâche de sauvegarde. Créons un script pour créer un vidage de base de données.

nano /etc/bacula/pre-mysql.sh

Insérez-y ces commandes. Notez que le déverser le mot de passe utilisateur doit être saisi après le -p parameter sans un space et changer nom de la base de données au nom du DB cible.

#!/bin/bash
# Preparation of the folder
rm -rf /opt/mysql-backup/
mkdir -p /opt/mysql-backup/
# Backup
mysqldump -u dump -ppassword database_name > /opt/mysql-backup/dump$(date +%Y-%m-%d_%H:%M).sql

Et un script pour effacer le disque space après la sauvegarde.

nano /etc/bacula/post-mysql.sh

Insérez ici les lignes suivantes.

#!/bin/bash
# Clearing the folder
rm -rf /opt/mysql-backup/

Rendre les scripts exécutables.

chmod +x /etc/bacula/pre-mysql.sh
chmod +x /etc/bacula/post-mysql.sh

Configuration Bacula

Ouvrez le fichier /etc/bacula/bacula-dir.conf et définissez le mot de passe pour MySQL bacula utilisateur dans le mot de passe db parammètre de la Catalogue .

Catalog {
Name = MyCatalog
dbname = "bacula"; dbuser = "bacula"; dbpassword = "password"
}

Insérez les sections avec MySQL paramètres de sauvegarde ici.

FileSet {
Name = MySQLFileSet
Include {
Options {
signature = MD5
}
File = /opt/mysql-backup
}}
Schedule {
Name = MySQL
Run = Full daily at 03:00
}
Job {
Name = "MySQLBackup"
JobDefs = "DefaultJob"
Enabled = yes
Level = Full
FileSet = MySQLFileSet
Schedule = MySQL
Storage = File1
ClientRunBeforeJob = "/etc/bacula/pre-mysql.sh"
ClientRunAfterJob = "/etc/bacula/post-mysql.sh"
Write Bootstrap = "/var/spool/bacula/%c.bsr"
}

Démarrez et activez les services Bacula.

systemctl enable --now bacula-dir.service
systemctl enable --now bacula-fd.service
systemctl enable --now bacula-sd.service

Désormais, les sauvegardes de la base de données sélectionnée seront effectuées à l'heure spécifiée.

Voter:
5 sur 5
Note moyenne : 5
Noté par : 1
1101 CT Amsterdam Pays-Bas, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Nous utilisons des cookies pour rendre votre expérience sur le Serverspace meilleur. En poursuivant votre navigation sur notre site, vous acceptez nos
Utilisation des cookies et Politique de confidentialité.