En el caso de un aténtico y total desastre de nuestro servidor VPS, podremos devolverlo al estado que tenía, siempre que tengamos una copia de seguridad completa.  Este artículo es una continuación de este otro, donde explico como hacer un backup completo del sevidor. Si hacemos copias de seguridad completas de forma regular, podremos restaurar el servidor a un estado anterior de total operatividad, y si además tenemos la sana costumbre de hacer copias diarías de nuestros datos, sitios web, correo,… lo podremos dejar funcionando con la menor cantidad de información perdida.

Vamos a partir de que hemos reinstalado el sistema operativo (Debian 7 en este caso) y que ahora tenemos el VPS tal y como nos lo entregan después de contratarlo, es decir, solo el sistema y absolutamente nada instalado. Tan solo acceso por SSH y poca cosa más.

1. Reinstalar Debian e instalar openssl

Como decía, el servidor VPS recien instalado trae el S.O. límpio y sin apenas nada, tan solo el servidor SSH para poder conectar de forma remota. En un VPS con Debian, seguramente ya tengamos instalado openssl, en caso contrario lo instalamos.

Como después vamos a restaurar el sistema operativo desde el archivo de backup, no tiene ningún sentido hacer un upgrade en este momento, ya que al restaurar sobreescribiremos todo. Por tanto simplemente verificamos que disponemos de openssl y si no lo tenemos procedemos a instalarlo.

# apt-get install openssl

 

2. Instalar el programa megacmd

Como ya vimos en el artículo anterior, la herramienta que vamos a utilizar para conectar con Mega desde la línea de comandos, es el programa megacmd.

En el artículo anterior “Copia de seguridad completa de un servidor VPS …“, explico como compilarlo e instalarlo.

3. Descargar el archivo de copia de seguridad desde el almacenamiento MEGA

Antes de descargar el archivo de copia de seguridad desde Mega, primero vamos a crear la carpeta /backup en nuestro servidor, después nos cambiamos a ella para trabajar desde ahí.

# mkdir /backup
# cd /backup

Descargamos el archivo de copia de seguridad.

# megacmd get mega:/backup_vps/backuptotal-fecha-hora.bc /backup/

Atención: Es importante poner la última / después del nombre de carpeta backup.

4. Desciframos el archivo de copia de seguridad

Para descifrar el archivo usamos openssl pasando la misma contraseña que usamos para cifrarlo. Al igual que cuando lo ciframos, podemos pasar la contraseña de forma manual o desde un fichero.

Para descifrar pasando la contraseña manualmente.

# openssl enc -d -aes256 -in backuptotal-fecha-hora.bc -out backuptotal-fecha-hora.tar.gz

Para descifrar pasando la contraseña desde un fichero, primero creamos el fichero con la contraseña. En este ejemplo usaremos el fichero /root/.keyfile.

# openssl enc -kfile /root/.keyfile -d -aes256 -in backuptotal-fecha-hora.bc -out backuptotal-fecha-hora.tar.gz

Importante: La opción -kfile toma la contraseña 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.

5. Restaurar el sistema

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 fichero error.log

6. Reiniciar el sistema

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.