sql >> Base de Datos >  >> RDS >> Database

Copias de seguridad solo de base de datos en WHM

Algunos clientes nos preguntaron si puede configurar solo copias de seguridad de bases de datos en WHM. Para algunos, esto sonará extraño, pero hay usuarios que quieren esta función.

Puede acceder a la configuración de copia de seguridad de WHM a través de WHM->Copia de seguridad->Configuración de copia de seguridad . Desafortunadamente, no hay opción en este momento para respaldar solo las bases de datos de los usuarios.

Actualización:a partir del 20 de abril de 2020, esta solicitud de cPanel se encuentra en el estado "Discusión abierta". Puede comentar y votar en el sitio de solicitudes de funciones de cPanel

¿Qué soluciones tienes? Puede usar comandos bash. Un comando para respaldar todas las bases de datos en el servidor a un archivo .gz es:

root@www [/backup]# mysqldump --all-databases | gzip > /backup/$(date +%Y-%h-%d)-alldatabases.sql.gz

Esto creará una copia de seguridad con todas las bases de datos MySQL/MariaDB en el servidor. El nombre del archivo incluirá la fecha actual. (por ejemplo, 2018-Sep-25-alldatabases.sql.gz) Puede modificar el comando según sus necesidades. También puede crear un trabajo cron para ejecutarlo en momentos específicos.

Otra posibilidad es hacer una copia de seguridad de cada base de datos en el servidor individualmente. Para ello, cree un nuevo archivo como backupdbs.sh El contenido del archivo es:

#!/bin/bash

mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
date=$(date +%Y-%h-%d)

backupdir="/backup"
mkdir -p $backupdir/$date

databases=`$mysql -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema)"`
for db in $databases; do
echo $db
$mysqldump --opt --databases $db | gzip > "$backupdir/$date/$db.sql.gz"
done

Para ejecutar el script:

root@www [/backup]# perl backupdbs.sh

Como en el caso anterior, también puede ajustar el script según sus necesidades y crear un trabajo cron.