Copias y migraciones
Automatizar la realización de copias de seguridad
Recuerda que dispones de un histórico de copias de seguridad disponibles para su uso, realizadas a diario automáticamente y almacenadas en sistemas exclusivos para este fin.
La automatización de copias de seguridad se puede llevar a cabo combinando la potente API de cPanel con la creación de una tarea automática configurada por medio de las cronjobs
Comando para la ejecución de la copia de seguridad
Para crear la copia de seguridad vía comando usaremos uapi, es el ejecutable que permite el acceso a la API de cPanel desde la propia cuenta.
Si queremos crear una copia de seguridad que se almacene en nuestra cuenta (directorio raíz) usaremos:
uapi Backup fullbackup_to_homedir
Nada más, este simple comando creará una copia de seguridad en el momento que sea ejecutado.
Si quieres recibir un email de confirmación, podemos añadir nuestro correo de la siguiente forma:
uapi Backup fullbackup_to_homedir email=usuario@correo.com
Ten en cuenta que estas copias consumen recursos, por un lado CPU durante su realización y por otro y más importante, espacio en disco, deberías tener al menos un 50% de espacio libre para que la copia de seguridad se pueda generar y almacenar sin errores.
No envíes copias mediante FTP sin cifrar ni escribas contraseñas en el comando de cron: quedarían expuestas en el historial, procesos o configuración del panel. Genera la copia en home y transfiérela mediante SFTP/SCP con una clave exclusiva y restringida, o usa un destino externo cifrado. Guarda la clave fuera de public_html, con permisos mínimos, y verifica la huella SSH del destino antes de automatizar.
El script de transferencia debe seleccionar un nombre de copia exacto, comprobar su tamaño y checksum, confirmar la recepción y registrar el resultado. Si cualquiera de estas comprobaciones falla, debe conservar la copia local y terminar sin borrar versiones anteriores.
Configurando la tarea automática
Una vez tenemos el comando para generar la copia, nos dirigimos a cPanel, sección Trabajos de cron y utilizamos el asistente para seleccionar el intervalo de ejecución deseado. El cron debe invocar un script protegido y no contener credenciales.
Antes de programarlo, ejecútalo manualmente, verifica el checksum y restaura la copia en una cuenta, base o directorio temporal. Comprueba ficheros, bases de datos y configuración; solo entonces activa la tarea.
Define una retención explícita, por ejemplo varios puntos diarios, semanales y mensuales, y elimina una copia únicamente después de confirmar que existen otras copias verificadas en dos ubicaciones. Supervisa los logs y alerta ante copias vacías, transferencias incompletas o falta de espacio.
Antes de cualquier restauración en producción, genera y verifica un snapshot actual, detén las escrituras y ensaya el punto elegido en una ubicación temporal. Si la validación posterior falla, restaura ese snapshot actual y comprueba la reversión antes de reabrir el servicio.

También te puede ayudar