🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

DirectAdmin: Cómo hacer copias de seguridad de bases de datos automáticamente

Actualizado el 6 de diciembre de 2025

¿Cansado de acordarte de hacer copias de seguridad de tus bases de datos manualmente? Es una tarea tediosa y fácil de olvidar, pero crucial para la salud de tu web. Si algo sale mal, una copia reciente es tu mejor salvavidas. Por suerte, DirectAdmin incluye herramientas para automatizar este proceso por completo. En esta guía te explico, paso a paso y sin tecnicismos, cómo configurar un backup base de datos directadmin automático usando el cron del sistema.

¿Por qué necesitas copias de seguridad automáticas?

Imagina que tu web tiene un blog con cientos de artículos, o una tienda con miles de productos. Toda esa información vive en una base de datos MySQL. Si un plugin falla, un hacker ataca o el servidor sufre un problema, podrías perderlo todo en segundos.

Hacer copias seguridad automaticas directadmin no es solo una recomendación, es una necesidad. La automatización garantiza que, pase lo que pase, siempre tendrás una versión reciente de tus datos para restaurar. No dependes de tu memoria ni de tu disponibilidad para hacerlo a mano. Es como tener un seguro a todo riesgo, pero para tu información digital.

Entendiendo el concepto: Cron y Scripts

Antes de ponernos manos a la obra, vamos a entender qué es un "Cron". En términos simples, un Cron es un programador de tareas del servidor. Le dices "ejecuta este comando a esta hora" y él lo hace solo, todos los días, sin que tengas que intervenir.

Para que el Cron sepa qué hacer, usaremos un pequeño script. Un script es un archivo de texto con instrucciones. En nuestro caso, crearemos un script que le diga a DirectAdmin que exporte una o todas tus bases de datos a un archivo comprimido y lo guarde en una carpeta segura.

Aunque suene a informática avanzada, verás que es más sencillo de lo que parece. Vamos a por ello.

Paso 1: Acceder a tu Panel de Control DirectAdmin

Lo primero es entrar en tu panel de DirectAdmin. Normalmente, se accede a través de una URL como https://tu-dominio.com:2222 o https://tu-ip:2222. Introduce tu usuario y contraseña de administrador o de revendedor.

Una vez dentro, verás una interfaz con muchos iconos. No te agobies, solo necesitamos un par de ellos. Busca la sección que suele llamarse "Cuenta" o "Administración de cuenta". Ahí encontrarás la herramienta "Cron Jobs" o "Tareas programadas". Haz clic en ella.

Paso 2: Crear el Script de Backup

Ahora viene la parte divertida. Vamos a crear un pequeño archivo de script. No te preocupes, te doy el código listo para copiar y pegar.

El script que usaremos es un comando estándar de DirectAdmin que se encarga de hacer el backup de las bases de datos. Se llama mysql-backup.

Para crear el script, necesitas un editor de texto. Puedes usar el Administrador de Archivos de DirectAdmin o conectarte por FTP. Te recomiendo el Administrador de Archivos por ser más visual.

  1. Ve al Administrador de Archivos (File Manager).
  2. Entra en la carpeta donde quieras guardar el script. Una buena opción es tu carpeta public_html o una carpeta personal como backups. Si no existe, créala.
  3. Crea un nuevo archivo. Nómbralo, por ejemplo, backup_db.sh.
  4. Haz clic en editar y pega el siguiente contenido:
#!/bin/bash
# Script para backup de bases de datos de DirectAdmin
/usr/local/directadmin/dataskq --backup mysql

Este comando le dice a DirectAdmin que ejecute su sistema interno de backups, específicamente para las bases de datos MySQL. Es la forma más segura y fiable, ya que usa el propio sistema del panel.

  1. Guarda el archivo.

Un script más avanzado (opcional)

El script anterior es perfecto para empezar. Pero, ¿y si quieres más control, como guardar los backups en una carpeta específica con fecha? Aquí tienes una versión un poco más avanzada:

#!/bin/bash
# Backup de todas las bases de datos MySQL
BACKUP_DIR="/home/usuario/backups_mysql"
DATE=$(date +%Y-%m-%d)

# Crear el directorio si no existe
mkdir -p "$BACKUP_DIR"

# Usar el comando mysqldump para cada base de datos
for DB in $(mysql -e 'SHOW DATABASES;' | grep -Ev '(Database|information_schema|performance_schema)'); do
    mysqldump --databases $DB > "$BACKUP_DIR/$DB-$DATE.sql"
    gzip "$BACKUP_DIR/$DB-$DATE.sql"
done

echo "Backup completado en $BACKUP_DIR"

[WARNING] Este script avanzado requiere que tengas acceso a la línea de comandos y que el usuario con el que se ejecuta el Cron tenga permisos para usar mysql y mysqldump. Si no estás seguro, quédate con el primer script, que es el más universal y seguro.

Paso 3: Configurar el Cron en DirectAdmin

Ahora que tenemos el script, vamos a programarlo para que se ejecute automáticamente.

  1. Ve de nuevo a la sección "Cron Jobs" en DirectAdmin.

  2. Busca la opción "Crear un nuevo Cron Job" o "Añadir tarea".

  3. Verás varios campos. Los más importantes son:

    • Minuto: Aquí pones el minuto en el que quieres que se ejecute. Usa 0 para que se ejecute en el minuto 0 de la hora, o */5 para que se ejecute cada 5 minutos (no recomendado para backups diarios).
    • Hora: La hora del día. Por ejemplo, 3 para las 3 de la mañana. Es un buen momento porque tu web suele tener menos visitas.
    • Día del mes: Puedes dejarlo en * para que se ejecute todos los días del mes.
    • Mes: Déjalo en * para todos los meses.
    • Día de la semana: Déjalo en * para todos los días de la semana.

    En resumen, para un backup diario a las 3:00 AM, deberías poner: 0 3 * * *.

  4. En el campo de Comando, debes escribir la ruta completa a tu script. Por ejemplo, si lo guardaste en tu carpeta public_html, sería algo así:

    /home/tu_usuario/public_html/backup_db.sh
    

    Es crucial que la ruta sea correcta. Puedes ver la ruta completa de tu carpeta en el Administrador de Archivos, arriba del todo.

  5. Haz clic en "Crear" o "Añadir".

¡Y listo! Ya tienes tu cron directadmin backup mysql funcionando. A partir de ahora, cada día a las 3 de la mañana, tu servidor ejecutará el script y guardará una copia de seguridad de tus bases de datos.

Paso 4: Verificar que el Backup se Realiza

No basta con configurarlo; hay que asegurarse de que funciona. Espera al día siguiente y revisa la carpeta donde guardaste el script. Deberías ver un archivo nuevo con la fecha del día.

Si no ves nada, puede ser que el script no tenga permisos de ejecución. Para solucionarlo:

  1. Ve al Administrador de Archivos.
  2. Haz clic derecho sobre el archivo backup_db.sh.
  3. Selecciona "Cambiar permisos".
  4. Marca la casilla de "Ejecutar" para el usuario (suele ser el primer grupo de casillas). Debe quedar algo así: 755.
  5. Guarda los cambios.

Otra opción es que el comando del script falle. Para ver los errores, puedes hacer que el Cron te envíe un email con el resultado. En la configuración del Cron, suele haber un campo para poner un correo electrónico. Pon tu correo y, si hay algún error, lo verás.

¿Dónde se guardan los backups por defecto?

Cuando usas el comando dataskq --backup mysql, DirectAdmin guarda los backups en una ubicación interna del servidor, generalmente en /home/usuario/admin/backups/. No es una carpeta accesible por FTP, lo cual es bueno por seguridad. Si usas el script avanzado, tú decides la ubicación.

[TIP] Para mayor seguridad, no guardes los backups en la misma carpeta donde tienes tu web (public_html). Si alguien hackea tu web, podría acceder a tus backups. Es mejor usar una carpeta fuera de ella, como /home/usuario/backups o incluso un servicio de almacenamiento en la nube si el servidor lo permite.

Restaurar una Base de Datos desde el Backup

Saber hacer el backup es solo la mitad. La otra mitad es saber restaurarlo. Si alguna vez necesitas recuperar una base de datos, tienes dos opciones:

  1. Desde el panel de DirectAdmin: Ve a "Administración de MySQL" y busca la opción de "Restaurar". Te pedirá que subas el archivo .sql o .gz que tengas guardado. Sigue las instrucciones y listo.
  2. Desde phpMyAdmin: Es una herramienta más avanzada, pero es muy útil. Entra en phpMyAdmin, selecciona la base de datos que quieres restaurar, ve a la pestaña "Importar" y sube tu archivo de backup.

Preguntas Frecuentes (FAQ)

¿Puedo hacer backups de bases de datos específicas?

Sí, por supuesto. En el script avanzado, puedes cambiar el bucle for para que solo haga backup de una base de datos concreta. Por ejemplo, si tu base de datos se llama mi_tienda, el script sería:

mysqldump --databases mi_tienda > "$BACKUP_DIR/mi_tienda-$DATE.sql"
gzip "$BACKUP_DIR/mi_tienda-$DATE.sql"

¿Cuánto tiempo debo conservar los backups?

Depende de ti y del espacio que tengas. Una buena práctica es conservar al menos los últimos 7 días, y tener un backup mensual que guardes durante más tiempo. Puedes borrar los archivos antiguos manualmente o configurar el script para que lo haga automáticamente.

¿El backup automático afecta al rendimiento de mi web?

Hacer un backup de una base de datos grande puede consumir recursos del servidor. Por eso es recomendable programarlo en horas de bajo tráfico, como las 3 o 4 de la mañana. Así, el impacto en los visitantes de tu web será mínimo o nulo.

¿Qué es Syspanel? ¿Tiene algo que ver con esto?

Syspanel es otro panel de control de hosting, similar a DirectAdmin, que encontrarás en algunos servidores. Si usas Syspanel, el proceso es muy parecido, pero el puerto de acceso a su panel es el 2106 (por ejemplo, https://tu-dominio.com:2106). Las opciones de Cron y backup son conceptualmente iguales, aunque los menús pueden variar ligeramente.

¿Puedo hacer el backup de toda mi cuenta, no solo de las bases de datos?

Sí, DirectAdmin lo permite. En la sección de "Copia de seguridad" de tu cuenta, puedes crear un backup completo que incluya archivos, bases de datos, cuentas de correo, etc. La configuración del cron es la misma, pero el comando del script cambiaría a /usr/local/directadmin/dataskq --backup all.

Conclusión

Configurar copias seguridad automaticas directadmin es un proceso sencillo y que te ahorrará muchos quebraderos de cabeza en el futuro. Con un pequeño script y una tarea cron, tendrás la tranquilidad de saber que tus datos están a salvo. No lo dejes para mañana; hazlo ahora y duerme tranquilo.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel