noticias
Serverspace Tecnologías en los Emiratos Árabes Unidos: lanzamiento de Falconcloud
JH
Joe Harris
1 de diciembre de 2020
Actualizado mayo 26, 2023

Cómo hacer una copia de seguridad MySQL on CentOS 8 con bacula

Backup CentOS Linux

Ya lo hemos hecho brevemente examinó en qué consiste el Bakula. En este tutorial, configuraremos un MySQL proceso de copia de seguridad de la base de datos usando Bacula en CentOS. Si desea configurar copias de seguridad de un control remoto CentOS 8 servidor, lee este artículo. Después de completar esta configuración, simplemente puede agregar la configuración de este tutorial y obtener una copia de seguridad del MySQL base de datos desde un servidor remoto.
En Serverspace usted puede crear un servidor con la aplicación ya instalada "MySQL".

Instalación de paquetes

Instalemos todos los paquetes necesarios.

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

MySQL configuración

Cambie el sistema de administración de base de datos predeterminado a MySQL si aún no está configurado.

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

Seleccione 1.
Conectar a MySQL.

mysql -u root -p

Cree una base de datos y un usuario para Bacula.

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

Ejecute este script para crear la estructura de la tabla.

/usr/libexec/bacula/make_mysql_tables -p

Para la tarea de copia de seguridad, cree un nuevo usuario y asígnele solo los derechos de acceso necesarios.

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

Preparando guiones

Para que Bacula sea capaz de crear copias de seguridad de un MySQL base de datos, primero debe volcarlo. Usaremos la capacidad de Bakula para ejecutar scripts personalizados antes y después del trabajo de copia de seguridad. Vamos a crear un script para crear un volcado de base de datos.

nano /etc/bacula/pre-mysql.sh

Inserte estos comandos en él. Tenga en cuenta que el arrojar La contraseña de usuario debe introducirse después de la -p parameter sin un space y cambio nombre de la base de datos al nombre de la base de datos de destino.

#!/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

Y un script para borrar el disco. space después de la copia de seguridad.

nano /etc/bacula/post-mysql.sh

Inserte aquí las siguientes líneas.

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

Haga que los scripts sean ejecutables.

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

Configuración de Bacula

Abra el archivo /etc/bacula/bacula-dir.conf y configure la contraseña para MySQL bacula usuario en el contraseña de base de datos paraméter de la Catálogo .

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

Inserte las secciones con MySQL configuración de copia de seguridad aquí.

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"
}

Inicie y habilite los servicios de Bacula.

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

Ahora se realizarán copias de seguridad de la base de datos seleccionada a la hora especificada.

Votar:
5 de 5
Calificación promedio: 5
Calificado por: 1
1101 CT Ámsterdam Países Bajos, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Utilizamos cookies para hacer que su experiencia en el Serverspace mejor. Al continuar navegando en nuestro sitio web, usted acepta nuestros
Uso de Cookies y Política de Privacidad.