Bueno, esto está repetido hasta la saciedad: debes hacer copias de seguridad de tu sistema. Pero cuando se trata de un Sistema que no es tu equipo personal, sino que es un Servidor que incluye páginas web, archivos de usuarios, correos personales y del Centro, ... no hacerlas es un delito.
Siguiendo con el tópico: hemos protegido nuestro Servidor con medidas de seguridad extremas, lo hemos blindado, le hemos instalado un SAID para que no le afecten los picos de corriente y pueda aguantar breves apagones, ... todo eso no sirve para nada si se va el disco duro a hacer gárgaras.
Vale, vale. Ya estamos convencidos. ¿Qué volcar? ¿Cada cuánto tiempo? ¿Cómo? ¿Dónde? No vamos a hacer aquí un tratado sobre las copias de seguridad. Sólo describir qué hacemos en nuestro caso. Así lo realizaba al principio:
Llega un momento en el que las copias deben realizarse a diario y, claro, esto provoca que el método anterior no sea válido: primero porque uno puede estar todos los días pendiente de hacerlas y, segundo, porque el tamaño de las copias ya es demasiado grande para almacenarlas con el método anterior: se imponen los respaldos incrementales o diferenciales.
Si el tamaño no fuera ningún problema, bastaría con ejecutar el script anterior con cron y punto. Pero sigue teniendo un inconveniente: sacar las copias del propio sistema. Una solución simple es colocarle una regrabadora de DVD y añadir al script una línea de copiado al dvd.
Bueno, hay otros métodos: uno de ellos es aprovechar el Servidor Interno. Éste tiene también es un Sistema Linux, que tiene dos discos duros Serial Ata en RAID-1. Así, las copias de seguridad estarían doblemente seguras. De modo que a configurar en el Interno un servidor SSH, reforzar la seguridad si cabe aún más y a poner en marcha un programa: copias semanales completas y diarias incrementales/diferenciales y traspaso vía ssh (con rsync o no) a otro equipo. Todo automático y enviando su correo (¡otro más!) informando del proceso. Y que incluya un sistema de registros que permita una recuperación total/parcial partiendo de un respaldo concreto. ¿Cómo hacer todo esto? Pues con la herramienta de copias de seguridad de Mandriva: drakbackup.
Aclaremos. Tenemos dos equipos conectados en red, que son nuestro Servidor (A) y el receptor de los respaldos (B). En B configuraremos un servidor SSH que admitirá conexiones desde A, y daremos de alta en B a un usuario llamado backupweb con contraseña clave_de_backupweb. Atención a los cortafuegos de ambos equipos: permitir a nuestro Servidor (A) conectarse como cliente-ssh de B. Y cuidar desde dónde y cómo se puede acceder al equipo receptor B: éste recibirá información confidencial.
Bien, ejecutamos en nuestro Servidor (A):
# drakbackup
En la primera ventana de esta herramienta gráfica elegimos "Configuración Avanzada". Y ahora se nos ofrecen cuatro campos para configurar: "¿Qué?" "¿Dónde?" "¿Cuándo?" y "Más opciones". Veámoslas paso a paso.
# scp -P 22 -i /root/.ssh/identity-drakbackup /var/lib/drakbackup/archivo_de_respaldo
Ahora podemos echar un vistazo a lo que hemos estado señalando pulsando en "Ver configuración" e incluso en "Respaldar ahora" para crear nuestro respaldo base y traspaso al equipo B. De esta forma, cuando cron ponga en marcha el proceso ya sólo se realizará un respaldo diferencial.
También desde este menú inicial podemos proceder a una restauración usando "Restaurar", que nos permitirá restaurar todos, varios, o un sólo archivo partiendo del respaldo base o de uno diferencial concreto.
Bueno, con nuestras copias de seguridad globales también nos llevamos, por ejemplo, las que realiza Moodle periódicamente. Pero observemos que las bases de datos se copian en crudo, es decir, copiando todo el bloque /var/lib/mysql/.
¿Una copia de seguridad específica de nuestras bases de datos que luego permita un replicado en otro equipo? Así lo hice para actualizar PHP-Nuke: me lo llevé todo a otro equipo, repliqué la bases de datos del portal y le apliqué parches y actualicé. Sólo tras conseguirlo lo hice en el Servidor.
Un script para respaldar bases de datos de MySQL es automysqlbackup. Pero yo lo veo demasiado completo.
Me he cocinado uno particular, más cutre, pero más sencillo, que no coloco aquí porque no me fío.
Esto es todo.