AVISO: Esta nota es antigua y esta basada en un VPS con sistema operativo Debian 7, aunque nada impide adaptarla a versiones actuales.
En caso de desastre total y haber perdido nuestro servidor VPS, podremos restaurarlo al estado que tenía, siempre que dispongamos de una copia de seguridad completa, sistema operativo y datos. Esta artículo es continuación de este otro donde se explica como hacer la copia de seguridad total del servidor. Si hacemos copias completas de forma regular, podremos restaurar el servidor sin perder muchos datos.
Comenzamos suponiendo que ya hemos reinstalado el mismo sistema operativo (en este caso Debian 7) y que tenemos el VPS tal y como nos lo entregan después de contratarlo, solo el sistema sin practicamente nada instalado, SSH y poco más.
Es posible que el servidor recien instalado tenga solo el propio sistema operativo límpio, con el servidor SSH, el apache y poco más. Seguramente si el sistema es Debian, ya tengamos instalado también openssl, en caso contrario lo instalamos primero.
Como vamos a restaurar desde un backup completo, no es necesario hacer un upgrade, ya que al restaurar se sobreescribirá todo. Por tanto solo instalamos openssl si es necesario.
# apt-get install openssl
Igual que vimos en el artículo anterior, vamos a necesitar el megacmd para conectar con Mega desde la línea de comandos. En el artículo anterior Copia de seguridad servidor VPS
se explica como obtenerlo, compilarlo e instalarlo.
Antes de descargar el archivo de copia de seguridad desde Mega, primero hay que crear la carpeta /backup en el servidor, después nos cambiamos a ella y seguimos trabajando desde ahí.
# mkdir /backup
# cd /backup
Descargamos el archivo de copia de seguridad.
# megacmd get mega:/backup_vps/backuptotal-fecha-hora.bk /backup/
Atención: Es importante poner la última / después del nombre de la carpeta backup.
Para descifrar el archivo usamos openssl pasando la misma clave de cifrado que usamos para cifrarlo. Al igual que cuando lo ciframos, podemos pasar la clave de forma manual o desde un fichero.
Para descifrar pasando la clave manualmente.
# openssl enc -d -aes256 -in backuptotal-fecha-hora.bk -out backuptotal-fecha-hora.tar.gz
Para descifrar pasando la contraseña desde un fichero, primero creamos el fichero con la clave. En este ejemplo usaremos el fichero /root/.keyfile.
# openssl enc -kfile /root/.keyfile -d -aes256 -in backuptotal-fecha-hora.bk -out backuptotal-fecha-hora.tar.gz
Importante: La opción -kfile toma la clave solo desde la primera línea del fichero. Si la contraseña es muy larga se ha de poner en una sola línea, nunca usar saltos de línea al escribirla.
Al restaurar el sistema con la copia de seguridad sobreescribimos absolutamente todo el sistema, incluidas las carpetas de usuario de /home, bases de datos, páginas web, correo electrónico, etc. Como vamos a restaurar sobre un sistema límpio es de suponer que los servicios como apache, postfix, mysql, etc, no estarán instalados, pero en el hipotético caso de que ya estén instalados, siempre es recomendable detenerlos primero antes de comenzar, así evitaremos posibles mensajes de advertencia durante el proceso.
Para restaurar ejecutamos:
# tar -xzvpf backuptotal-fecha-hora.tar.gz -C / 2>error.log
Este comando extrae el contenido del archivo tar.gz preservando los permisos de ficheros y carpetas, en la raiz del sistema (opción -C /). Los posibles mensajes de error los manda al archivo error.log.
Para finalizar la restauración solo queda reiniciar el sistema. Esperamos un tiempo suficiente para que vuelva a arrancar y nos conectamos de nuevo. Ahora revisaremos que todos los servicios están funcionando como se espera y que todos nuestros datos, páginas web, correo electrónico, etc, se han restaurado correctamente.
Cuando hayamos confirmado que todo está bien, ya podemos borrar el contenido de la carpeta /backup para ahorrar espacio.
17/2/2016
2025 Alberto Picado