El mayor portal de MU Online de Brasil — desde 2003
Tutorial Intermedio Infraestructura

Cómo automatizar el backup de tu servidor de MU Online a Google Drive

Configura un pipeline automático que genera el dump de la base de datos y de los archivos críticos del servidor de MU Online y los envía a Google Drive vía rclone, con rotación, cifrado y alertas de falla.

BR Bruno · Actualizado el 4 nov 2025 · ⏱ 15 min de lectura
Respuesta rápida

Perder la base de datos de un servidor de MU Online — con cuentas, personajes, ítems e historial de compras — es el tipo de incidente que puede terminar un proyecto de la noche a la mañana. Aun así, es común ver administradores haciendo backup manual "cuando se acuerdan", lo cual es solo cuestión de

Perder la base de datos de un servidor de MU Online — con cuentas, personajes, ítems e historial de compras — es el tipo de incidente que puede terminar un proyecto de la noche a la mañana. Aun así, es común ver administradores haciendo backup manual "cuando se acuerdan", lo cual es solo cuestión de tiempo hasta que salga mal. Este tutorial arma un pipeline completo y automatizado: dump de la base, compresión, cifrado opcional, envío a Google Drive vía rclone, rotación de versiones antiguas y alerta en caso de falla — todo programado para correr solo todos los días.

Por qué la nube es parte esencial de la estrategia de backup

La regla clásica de backup es 3-2-1: tres copias de los datos, en dos tipos de medios diferentes, con una copia fuera del sitio (off-site). Un backup que queda solo en el mismo disco del servidor de producción no protege contra falla de hardware, ransomware o error de operación que borra todo. Google Drive cumple el rol de copia off-site, con costo bajo e integración simple vía rclone.

Visión general del pipeline

El flujo completo tiene cinco etapas, ejecutadas en secuencia por un único script programado:

EtapaAcciónHerramienta
1Dump de la base de datosmysqldump / sqlcmd
2Copia de los archivos críticos (configs, logs recientes)tar/zip
3Compresión y (opcional) cifradogzip, gpg
4Envío a Google Driverclone
5Rotación (borrar backups antiguos locales y remotos)script propio

Instalando y configurando rclone

rclone es la herramienta estándar para sincronizar archivos con decenas de proveedores de nube, incluido Google Drive, sin necesidad de credenciales expuestas en texto plano en el script.

curl https://rclone.org/install.sh | sudo bash
rclone config

En el asistente interactivo, elegí n para nuevo remote, ponele el nombre gdrive_mu, seleccioná el tipo drive (Google Drive) y seguí el flujo de autenticación OAuth en el navegador. Al final, confirmá el funcionamiento:

rclone lsd gdrive_mu:

Si lista las carpetas de tu cuenta de Google Drive, la configuración está correcta.

Generando el dump de la base de datos

Para MySQL/MariaDB (común en MuEMU y derivados), usá --single-transaction para no bloquear tablas en uso durante el dump:

mysqldump --single-transaction --routines --triggers \
  -u backup_user -p"$DB_PASS" mu_online > /backup/mu_$(date +%F).sql

Para SQL Server (común en servidores IGCN), usá sqlcmd con un BACKUP DATABASE directo a un archivo .bak:

BACKUP DATABASE MuOnline
TO DISK = 'C:\Backup\MuOnline_20260730.bak'
WITH COMPRESSION, INIT;

Creá un usuario de base de datos dedicado a backups (backup_user), con permiso solo de lectura y BACKUP, nunca el usuario administrativo del GameServer — esto reduce el riesgo en caso de filtración del script.

Empaquetando archivos de configuración críticos

Además de la base de datos, conviene incluir en el backup los archivos de configuración del GameServer/ConnectServer (que rara vez cambian, pero salen caro de reconstruir desde cero) y los últimos días de log:

tar -czf /backup/config_$(date +%F).tar.gz \
  /srv/muserver/Data/*.txt \
  /srv/muserver/Data/*.xml \
  /srv/muserver/logs/*.log

Cifrando el backup antes del envío

Como el dump contiene datos sensibles (contraseñas con hash, historial de compras, correos de jugadores), es recomendable cifrarlo antes de enviarlo a la nube, aunque Google Drive ya sea privado por defecto:

gpg --symmetric --cipher-algo AES256 --batch --passphrase "$BACKUP_PASSPHRASE" \
  /backup/mu_$(date +%F).sql

Esto genera un archivo .gpg que solo se puede abrir con la contraseña definida — guardá esa contraseña en una bóveda separada del servidor (gestor de contraseñas del equipo), nunca en el mismo script.

Enviando a Google Drive

Con los archivos listos, el envío es una sola línea:

rclone copy /backup/ gdrive_mu:mu-backups/$(date +%Y-%m)/ --progress

Organizar por carpeta de mes (2026-07/) facilita la navegación manual en Drive cuando haga falta ubicar un backup específico rápidamente.

Script completo de backup diario

Juntando las etapas en un único script (backup_diario.sh):

#!/bin/bash
set -e
DATA=$(date +%F)
BACKUP_DIR=/backup
DB_DUMP="$BACKUP_DIR/mu_$DATA.sql"

mysqldump --single-transaction -u backup_user -p"$DB_PASS" mu_online > "$DB_DUMP"
tar -czf "$BACKUP_DIR/config_$DATA.tar.gz" /srv/muserver/Data/*.txt /srv/muserver/Data/*.xml
gpg --symmetric --cipher-algo AES256 --batch --passphrase "$BACKUP_PASSPHRASE" "$DB_DUMP"
rm -f "$DB_DUMP"

rclone copy "$BACKUP_DIR/" gdrive_mu:mu-backups/$(date +%Y-%m)/ --progress
echo "Backup de $DATA concluido con éxito." >> /var/log/mu/backup.log

Rotación: borrando backups antiguos

Mantener todos los backups para siempre agota el espacio rápidamente. Un esquema común es retener los últimos 7 backups diarios y borrar el resto, tanto localmente como en Drive:

find /backup -name "*.gpg" -mtime +7 -delete
rclone delete gdrive_mu:mu-backups/ --min-age 90d
FrecuenciaRetención sugeridaUbicación
Diario7 díasLocal + Drive
Semanal30 díasDrive
Mensual6 a 12 mesesDrive

Alertando en caso de falla

Un backup que falla en silencio es peor que no tener backup — da una falsa sensación de seguridad. Agregá un trap en el script para notificar en caso de error, reutilizando el mismo webhook de Discord/Telegram usado en los avisos de evento:

trap 'curl -s -X POST "$DISCORD_WEBHOOK_URL" -d "{\"content\":\"⚠️ ¡Falla en el backup diario de MU Online!\"}" -H "Content-Type: application/json"' ERR

Programando la ejecución automática

En Linux, programalo vía cron para que corra de madrugada, fuera del horario pico de jugadores:

0 4 * * * /usr/local/bin/backup_diario.sh >> /var/log/mu/backup_cron.log 2>&1

En Windows, usá el Programador de Tareas apuntando a un .bat que llame a rclone y sqlcmd, con un disparador diario a las 04:00.

Probando la restauración periódicamente

Un backup nunca probado es una apuesta. Cada mes, descargá el archivo más reciente y restauralo en un entorno de prueba aislado (nunca en producción) para validar que el proceso completo funciona de punta a punta:

rclone copy gdrive_mu:mu-backups/2026-07/mu_2026-07-30.sql.gpg /tmp/teste/
gpg --decrypt --batch --passphrase "$BACKUP_PASSPHRASE" /tmp/teste/mu_2026-07-30.sql.gpg > /tmp/teste/mu_restaurado.sql
mysql -u root -p mu_teste < /tmp/teste/mu_restaurado.sql

Errores comunes y soluciones

SíntomaCausa probableSolución
rclone copy falla con error de autenticaciónToken OAuth vencidoEjecutá rclone config reconnect gdrive_mu:
El dump de MySQL bloquea tablas en producciónFaltó --single-transactionAgregá el flag al comando de dump
El backup consume todo el espacio en discoRotación local no configuradaAgregá find ... -delete al script
Nadie nota que el backup dejó de correrFalta de alerta de fallaImplementá trap con webhook de notificación
El archivo .gpg no se desencriptaContraseña distinta a la usada en el cifradoCentralizá la contraseña en una única bóveda documentada
El cron no ejecutaPermiso de ejecución ausente en el scriptEjecutá chmod +x backup_diario.sh

Lista de verificación de backup automatizado

  • rclone instalado y remote de Google Drive configurado y probado.
  • Usuario de base de datos dedicado a backup, con permisos mínimos.
  • Script de dump + compresión + cifrado funcionando manualmente.
  • Envío a Google Drive validado con rclone lsd.
  • Rotación local y remota configurada.
  • Alerta de falla vía Discord/Telegram implementada.
  • Programación diaria confirmada (cron o Programador de Tareas).
  • Restauración probada en entorno aislado en el último mes.

Con el backup corriendo solo y probado, la mayor fuente de riesgo operativo de tu servidor deja de ser "olvidarse de guardar" y pasa a ser solo monitorear las alertas. Si todavía estás armando la infraestructura desde cero, volvé al tutorial de creación de servidor de MU Online para garantizar que la base es sólida antes de automatizar el resto.

Preguntas frecuentes

¿Por qué usar Google Drive y no solo un backup local?

El backup local protege contra corrupción de datos o error de operación, pero no contra una falla del disco físico, robo del servidor o incendio en el datacenter. Google Drive (o cualquier nube) garantiza una copia fuera del lugar físico del servidor, esencial en la regla 3-2-1 de backup.

¿rclone es gratuito?

Sí, rclone es una herramienta open source y gratuita. El costo, si lo hay, es solo del almacenamiento en Google Drive por encima de la cuota gratuita (15 GB), que se puede ampliar con un plan Google One.

¿Necesito detener el servidor para hacer el backup?

No es obligatorio si usás un dump consistente de la base de datos (mysqldump con --single-transaction, o snapshot de MSSQL). Detener el servidor por unos segundos es más seguro en entornos pequeños, pero no es necesario en producción con los flags correctos.

¿Cómo restauro un backup de Google Drive en caso de emergencia?

Descargá el archivo más reciente con rclone copy, desencriptalo (si aplica) y restaurá el dump SQL con el comando de importación correspondiente (mysql < dump.sql o RESTORE DATABASE en MSSQL). Probá este proceso periódicamente para garantizar que el backup realmente funciona.

¿Cuántas copias de backup debo mantener?

Una práctica común es mantener backups diarios de los últimos 7 días, semanales de los últimos 30 días y mensuales de los últimos 6 a 12 meses. Esto equilibra el espacio en disco/nube con la capacidad de recuperación de errores descubiertos tardíamente.

BR
Editor de eventos, mapas e ítems

Bruno es especialista en eventos, mapas, bosses y economía de ítems de MU Online. Documenta cada detalle basándose en el juego real.

Sigue leyendo

Artículos relacionados