Copia de Seguridad · 3 min read · Feb 12, 2026

Copia de seguridad y recuperación de MySQL con mysql-zrm en Debian Sarge - Página 3

4 Ejemplos de Copia de Seguridad

Con mysql-zrm puedes mantener múltiples copias de seguridad, llamadas conjuntos de copias de seguridad, por ejemplo, una copia de seguridad diaria, una copia de seguridad semanal, una copia de seguridad para tu base de datos de osCommerce, una copia de seguridad para tu base de datos de vBulletin, etc.

Ahora vamos a crear nuestra primera copia de seguridad que creamos en el conjunto de copias de seguridad dailyrun:

mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0

Esto respaldará inmediatamente todas las bases de datos en el directorio /var/lib/mysql-zrm/dailyrun, y también creará el directorio /etc/mysql-zrm/dailyrun. –backup-level 0 significa: hacer una copia de seguridad completa (también puedes hacer copias de seguridad incrementales ( –backup-level 1), pero diré algo sobre esto más adelante - por ahora solo hacemos copias de seguridad completas).

Si has habilitado las notificaciones por correo electrónico, deberías haber recibido un correo electrónico con el estado de la copia de seguridad ahora. Pero también puedes generar un informe sobre el estado de la copia de seguridad en la línea de comandos así:

mysql-zrm-reporter --where backup-set=dailyrun --show backup-status-info

La salida se verá así:

| backup_set backup_date backup_level backup_status comment ---------------------------------------------------------------------------------------------------------------------- dailyrun Tue 26 Sep 2006 07:57:47 PM CEST 0 Backup succeeded ---- |

También puedes generar algunos otros informes con los siguientes comandos:

mysql-zrm-reporter --where backup-set=dailyrun --show backup-method-info  
mysql-zrm-reporter --where backup-set=dailyrun --show backup-retention-info  
mysql-zrm-reporter --where backup-set=dailyrun --show backup-performance-info  
mysql-zrm-reporter --where backup-set=dailyrun --show restore-full-info  
mysql-zrm-reporter --where backup-set=dailyrun --show restore-incr-info  
mysql-zrm-reporter --where backup-set=dailyrun --show replication-info

Prueba cada uno de ellos para ver qué información proporcionan.

Ahora queremos crear una copia de seguridad diaria y una semanal que se ejecute automáticamente por el sistema (es decir, sin nuestra interacción). Así es como podemos configurar estas copias de seguridad:

mysql-zrm-scheduler --add --interval daily --backup-set dailyrun --backup-level 0  
mysql-zrm-scheduler --add --interval weekly --backup-set weeklyrun --backup-level 0

(Con el segundo comando hemos creado un nuevo conjunto de copias de seguridad llamado weeklyrun.)

Ahora verifiquemos nuestras copias de seguridad programadas:

mysql-zrm-scheduler --query

La salida se ve así:

| Logging to /var/log/mysql-zrm/mysql-zrm-scheduler.log 0 3 * * * /usr/bin/mysql-zrm --action backup --destination /var/lib/mysql-zrm --backup-set dailyrun --backup-level 0 0 4 * * * /usr/bin/mysql-zrm --action purge --destination /var/lib/mysql-zrm 0 2 * * 0 /usr/bin/mysql-zrm --action backup --destination /var/lib/mysql-zrm --backup-set weeklyrun --backup-level 0 |

Como puedes ver, la copia de seguridad diaria se ejecuta cada día a las 03:00h, y la copia de seguridad semanal se ejecuta cada domingo a las 02:00h.

(Además, en lugar de

mysql-zrm-scheduler --query

también podrías ejecutar

crontab -l

para obtener la misma información.)

Si deseas iniciar la copia de seguridad diaria a otra hora, por ejemplo, a las 13:35h, puedes hacerlo así:

mysql-zrm-scheduler --add --interval daily --backup-set dailyrun --start 13:35 --backup-level 0

Para eliminar una copia de seguridad programada de cron, puedes hacerlo así:

mysql-zrm-scheduler --delete --interval weekly

Esto eliminaría la copia de seguridad semanal que se ejecuta los domingos a las 02:00h de cron. Si deseas eliminar la copia de seguridad diaria que está programada para las 13:35h, puedes hacerlo así:

mysql-zrm-scheduler --delete --interval daily --start 13:35

Pero también puedes ejecutar

crontab -e

para editar tus trabajos de cron, lo cual a veces es más fácil que lidiar con mysql-zrm-scheduler.

5 Informes Personalizados, Informes HTML

En el capítulo 4 ya mencioné qué tipo de informes están disponibles. Pero también puedes generar informes personalizados, es decir, puedes especificar qué columnas/información deseas ver. Por ejemplo,

mysql-zrm-reporter --fields backup-set,backup-date,backup-level,backup-status --where backup-set=dailyrun

genera un informe para el conjunto de copias de seguridad dailyrun que muestra las columnas backup-set, backup-date, backup-level y backup-status:

| backup_set backup_date backup_level backup_status ------------------------------------------------------------------------------------------------ dailyrun Tue 26 Sep 2006 07:57:47 PM CEST 0 Backup succeeded dailyrun Tue 26 Sep 2006 07:58:08 PM CEST 0 Backup succeeded dailyrun Tue 26 Sep 2006 07:58:31 PM CEST 0 Backup succeeded dailyrun Tue 26 Sep 2006 08:24:04 PM CEST 0 Backup succeeded |

Una lista de todas las columnas está disponible en http://mysqlbackup.zmanda.com/index.php/What_information_can_be_obtained_from_a_backup_report%3F.

mysql-zrm también te permite crear informes HTML. Supongamos que tienes un servidor web (por ejemplo, Apache) instalado en tu sistema con la raíz del documento /var/www. Ahora ejecuta

mysql-zrm-reporter --show backup-status-info --where backup-set=dailyrun --type html --output /var/www/backup-status-dailyrun.html

Esto crea el archivo HTML backup-status-dailyrun.html en tu directorio /var/www que ahora puedes acceder en tu navegador (por ejemplo, http://server1.example.com/backup-status-dailyrun.html):

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.