Hace unos días me pasó un error raro: un servidor que rento decía estar en línea pero ni si quiera hacía ping
, lo cual indicaba un error de alguna índole. Al tratar de entrar vía ssh
decía que no había ruta para el puerto, y para colmo no tenía un respaldo reciente y sin acceso vía ssh
no había como rescatar la información para reinstalar todo sin perder datos. Tenía que saber cómo respaldar un blog pero sin acceso vía ssh
, algo que nunca había intentado.
Lección del día: siempre ten actualizados tus respaldos.
Obviamente entré en pánico, porque el servidor aloja tres sitios web de una misma cliente quien por supuesto estaba bastante preocupada al pensar que su trabajo de algunos años se iba a perder en el ciberespacio para siempre.
Después de varios días de estrés y de estar buscando en línea alguna solución, logré darme cuenta que si iniciaba el servidor desde la página de mi proveedor en modo rescate podía entrar vía ssh
(pero no mucho más), por lo que me conecté e hice lo siguiente:
mount /dev/sda1 /mnt
mount /dev/sda15 /mnt/boot/efi
mount -o bind /sys /mnt/sys
mount -o bind /proc /mnt/proc
mount -o bind /dev /mnt/dev
Ojo en este punto: puede ser
sda1
pero en mi caso fuevda1
, al ser una unidad virtual, entonces ahí tuve que cambiar el formato (puedes ver las particiones de un disco condf -h
).
Una vez montado el sistema entramos vía chroot
:
chroot /mnt
De esa manera podemos entrar al recién montado punto /dev/sda1
que ahora está en /mnt/
.
Listo, ya estamos dentro. ¿Ahora qué podemos hacer? Mi prioridad era —ahora sí— hacer un respaldo de los blogs para poder restaurar todo mi servidor, para eso hice el comando con el que respaldo la base de datos de MariaDB:
mysqldump -u[usuario de la base] -p[contraseña del usuario] [nombre de la base] > back.sql
Pero ¡oh sorpresa!, mysql
no está activo pues al iniciar vía chroot
, systemd
no está corriendo. Para solucionarlo me bastó un service mysql start
(que me costó algo de trabajo averiguar) y después ya pude respaldar mi base de datos. Con la base solo tuve que respaldar el contenido de la carpeta web y repetir para cada uno de los tres sitios que tenía en el servidor.
Con los datos a salvo lo más fácil fue borrar y crear un nuevo servidor con el nuevo Debian, configurar LEMP y restaurar los datos. Así logré salvar una crisis y aprender un par de cosas en el proceso.