ESC

Start typing to search across invoices, services, domains, tickets, and more...

Search... Ctrl+K
aaPanel / BaoTa

Cómo hacer backup y migrar sitios de aaPanel (BaoTa) a otro servidor

7 pasos 16 min de lectura 6 vistas 0
Contenido

Ya sea como protección diaria o para pasar a un servidor IMIDC más grande, la copia de seguridad y la migración de sitios web en aaPanel (BaoTa) es una tarea a la que se enfrenta todo propietario de un sitio. Esta guía se aplica al panel aaPanel / BaoTa para Linux en Debian/Ubuntu y CentOS/Rocky/AlmaLinux. Explica las copias de seguridad programadas del panel, las copias a almacenamiento remoto, el flujo general del plugin de migración en un clic y el método manual más fiable —tar para los archivos y mysqldump para las bases de datos—, seguido de una lista de comprobación para el cambio de DNS y una migración sin pérdida de datos.

Paso 1: Programe copias de seguridad de sitios web y bases de datos en aaPanel (BaoTa)

Abra Cron en la barra lateral del panel y cree tareas del tipo «Backup Site» y «Backup Database». Seleccione todos los sitios o algunos concretos, ejecútelas a diario por la noche y conserve un número razonable de copias (por ejemplo, 7) según el tamaño del disco. Las copias se guardan por defecto en /www/backup; compruébelas con:

ls /www/backup/site /www/backup/database
du -sh /www/backup/*
df -h /www
Las copias guardadas solo en el mismo servidor no son seguras: un fallo del disco, un borrado accidental o una intrusión las destruye junto con el sitio. Mantenga siempre otra copia en un servidor distinto o en un almacenamiento de objetos.

Paso 2: Envíe las copias de aaPanel a un almacenamiento remoto

En la App Store del panel, busque e instale un plugin de almacenamiento (FTP, almacenamiento de objetos compatible con S3 y similares), introduzca sus datos de acceso y, a continuación, edite sus tareas de copia en Cron y elija ese almacenamiento como destino. Otro servidor de IMIDC también puede servir como destino FTP o rsync para la recuperación ante desastres fuera del sitio.

Paso 3: Use el plugin de migración en un clic (traslado de todo el servidor)

El fabricante del panel ofrece un plugin de migración en un clic. El flujo general es: instale el mismo panel en el servidor nuevo, active su interfaz API en la configuración del panel y añada la IP del servidor antiguo a la lista blanca; en el servidor antiguo, instale el plugin de migración, introduzca la dirección y la clave API del nuevo panel, seleccione los sitios, bases de datos y cuentas FTP que desea trasladar y espere a que termine la transferencia. Los nombres y las pantallas del plugin cambian entre versiones, así que siga lo que muestre su panel. Mantenga las mismas versiones de PHP y MySQL en ambos servidores.

Paso 4: Migración manual — tar del sitio web y mysqldump de la base de datos

Cuando el plugin falla o solo traslada unos pocos sitios, el método manual le da control total. Ejecute lo siguiente en el servidor antiguo (sustituya example.com y example_db por el directorio de su sitio y su base de datos). --single-transaction genera un volcado coherente de InnoDB sin bloquear las tablas.

# On the OLD server
mkdir -p /root/migrate && cd /root/migrate
tar -czf example.com.tar.gz -C /www/wwwroot example.com

# Export the database (consistent dump for InnoDB, keeps utf8mb4)
mysqldump -uroot -p --single-transaction --routines --triggers \
  --default-character-set=utf8mb4 example_db | gzip > example_db.sql.gz

# Copy the Nginx vhost and rewrite rules for reference
cp /www/server/panel/vhost/nginx/example.com.conf /root/migrate/
cp /www/server/panel/vhost/rewrite/example.com.conf /root/migrate/rewrite-example.com.conf 2>/dev/null
ls -lh /root/migrate

Después, envíe los archivos al servidor nuevo con rsync, que reanuda las transferencias interrumpidas y gestiona mejor los archivos grandes que scp:

# Debian / Ubuntu
apt install -y rsync
# CentOS / Rocky / AlmaLinux
yum install -y rsync

# Push the files to the NEW IMIDC server
rsync -avP -e "ssh -p 22" /root/migrate/ root@NEW_SERVER_IP:/root/migrate/

Paso 5: Restaure el sitio web y la base de datos en el servidor nuevo

En el nuevo panel, primero añada el sitio con el mismo dominio, cree la base de datos y el usuario con el mismo nombre (anote la contraseña) e instale las mismas extensiones de PHP. Luego extraiga los archivos, corrija el propietario e importe la base de datos. Si la contraseña de la base de datos cambió, actualice la configuración del sitio (por ejemplo, wp-config.php en WordPress). Vuelva a configurar las reglas de reescritura y el SSL en los ajustes del sitio; nuestra guía «Sitio web y SSL en BaoTa» explica cómo hacerlo.

# On the NEW server, after creating the site and the empty database in the panel
cd /root/migrate
tar -xzf example.com.tar.gz -C /www/wwwroot/
chown -R www:www /www/wwwroot/example.com

gunzip < example_db.sql.gz | mysql -uexample_db -p example_db

Paso 6: Pruebe el servidor nuevo con el archivo hosts de su equipo

Antes de cambiar el DNS, apunte el dominio a la nueva IP en el archivo hosts de su propio equipo y pruebe la página de inicio, el acceso al panel de administración, la subida de archivos y los pagos. Elimine la línea cuando termine.

# Windows: C:\Windows\System32\drivers\etc\hosts
# macOS / Linux: /etc/hosts
NEW_SERVER_IP  example.com  www.example.com

Paso 7: Lista de comprobación para el cambio de DNS

  • Con 24-48 horas de antelación, reduzca el TTL del registro A a unos 300 segundos;
  • elija una franja de poco tráfico y active el modo de mantenimiento o pause las escrituras en el panel de administración;
  • vuelva a volcar e importar la base de datos y ejecute un rsync incremental de los archivos subidos (comandos más abajo);
  • actualice el registro A con la nueva IP y emita o despliegue el SSL en el servidor nuevo;
  • vigile el registro de accesos del servidor antiguo hasta que deje de recibir tráfico, y conserve el servidor antiguo varios días antes de cancelarlo.
# Final sync of uploads changed since the first copy (run on the OLD server)
rsync -avP /www/wwwroot/example.com/ root@NEW_SERVER_IP:/www/wwwroot/example.com/

# Verify DNS after switching
dig +short example.com A
nslookup example.com 8.8.8.8

Preguntas frecuentes

Tras la migración, el sitio muestra la página predeterminada del panel o un error 404.

Es posible que el DNS aún no se haya propagado, que al sitio le falte un alias de dominio (con y sin www) o que el directorio raíz sea distinto al del servidor antiguo. Revise la lista de dominios y el directorio raíz en la configuración del sitio.

La importación falla con un error de juego de caracteres o «Unknown collation».

Normalmente el MySQL nuevo es más antiguo y no tiene intercalaciones como utf8mb4_0900_ai_ci. Instale una versión de MySQL igual o más reciente, o sustituya la intercalación del volcado por otra compatible.

La copia de seguridad es enorme y se transfiere lentamente.

Haga un primer rsync completo mientras el sitio sigue en línea y, durante el cambio, solo una sincronización incremental. El tiempo de inactividad se reduce a unos pocos minutos.

¿Sigue con problemas después de seguir estos pasos? Abra un ticket de soporte y el equipo técnico de IMIDC, disponible 24/7, le ayudará. Incluya la IP del servidor, la versión del sistema operativo, los comandos que ejecutó y una captura de pantalla del error para que podamos localizar el problema más rápido.

¿Fue útil la respuesta?

Tutoriales relacionados