Hay diversas formas para realizar un backup en MariaDB en zip. No importa la versión, porque todas son similares entre si en cuanto a la realización del backup.
Importante: Este código, va a generar una copia de seguridad (backup) en formato ZIP de nuestra base de datos en MariaDb o en Mysql, para esto requerimos el programa 7Zip, de código abierto, ligero de usar y de instalar.
A continuación estoy dejando el script que me ha funcionado, debes de copiar el script en un block de notas, y guardarlo con el nombre copiaSeguridad.cmd
@echo off
@echo off
set dbUser=root
set dbPassword=CONTRASEÑA
set baseDatos="BASE DE DATOS"
set backupDir="C:\backups"
set mysqldump="C:\xampp\mysql\bin\mysqldump.exe"
set mysqlDataDir="C:\xampp\mysql\data"
set zip="C:\Program Files\7-Zip\7z.exe"
:: get date
for /F "tokens=2-4 delims=/ " %%i in ('date /t') do (
set mm=%%j
set dd=%%i
set yy=%%k
)
set dirFecha=%yy%%mm%%dd%
:: switch to the "data" folder
pushd %mysqlDataDir%
:: itera sobre todas las carpetas de data para extraer todas las DB
::for /d %%f in (*) do (
if not exist %backupDir%\ (
mkdir %backupDir%\
)
::%mysqldump% --host="localhost" --user=%dbUser% --password=%dbPassword% --single-transaction --add-drop-table --databases %%f %backupDir%\%dirName%\%%f.sql
%mysqldump% --host="localhost" --user=%dbUser% --password=%dbPassword% --databases %baseDatos% > %backupDir%\%baseDatos%.sql
%zip% a -tgzip %backupDir%\%baseDatos%_%dirFecha%.sql.gz %backupDir%\%baseDatos%.sql
del %backupDir%\%baseDatos%.sql
::)
Explicación sobre el script.
Las 3 primeras líneas nos pide usuario, contraseña y nombre de la base de datos que vamos a respaldar. Ejemplo: root, passw123, temporal. Ninguno de estos campos va entre comillas ni simples, ni dobles, y van pegados al símbolo de igual ( = ).
Campo base de datos va entre doble comillas
Luego tenemos el BackupDir, que es el lugar donde queremos que el script ponga el Backup.
Tenemos mysqldump, que es la ruta donde tenemos el pequeño programa que viene en la instalación del MariaDb o Mysql para realizar copias de seguridad, en la mayoría de casos usamos XAMPP para simular el servidor, la ruta es esa que aparece.
Tenemos mysqlDataDir, donde se encuentran los archivos de la base de datos, si usas XAMPP, tampoco tienes que mover nada.
Y la variable zip, que apunta donde está la instalación del 7zip.
Y con eso nada más es ejecutar el script proporcionado y que lo puedes agregar a las tareas programadas para que las puedas utilizar según un horario.
Recuerda que nos genera un archivo en zip, muy ligero, en la mayoría de casos reduce un 75% de espacio. Y todo es automático!
Como siempre te ofrezco mi ayuda en el lado de contacto.