Después de todo, para mantener backups todo lo que se necesita son las herramientas apropiadas y principalmente la disciplina de crearlos constantemente; si crees que eres incapaz de tener tal responsabilidad, buscar algún programa o haz un script que se encargue por ti de general puntualmente los respaldos de tus archivos/sitios/bases de datos… a menos que quieras que te suceda lo mismo que a Ma.gnolia a inicios de este año.

Pero hay que tener algo claro: una cosa es tener backups y otra haberse recuperado a partir de estos; hay que estar seguros que realmente podamos recuperar toda (o casi) nuestra información, no solo los datos sino también configuraciones, compilaciones de los programas y metadata de la cual dependamos.

¿Alguna vez has hecho la simulación de recuperar tus datos a partir de tus backups? ¿Tienes una copia en otro Datacenter? ¿Sabes cuanto tiempo tardarás en tener todo de vuelta? ¿Estás seguro que si falla el disco duro del servidor, puedes recuperar todo? Todo esto viene a que Jeff Atwood, de Coding Horror, recientemente tuvo un problema con su servidor y de pronto casi había perdido todo sitio, por confiar los respaldos su información a terceros.

No es la primera vez que hablamos de backups, herramientas y sitios relacionados acá en Maestros del Web:

De hecho mientras escribía este artículo, hice una copia completa de los sitios que administro, incluyendo:

  • Un .tar de los archivos de cada sitio.
  • Un sqldump de cada base de datos.
  • Copias de los httpd.conf, my.conf, php.ini y otros archivos relacionados con la configuración del servidor
  • Estas copias quedan en el disco secundario del servidor.
  • Aparte, todo esto lo envíe a Amazon S3, desde cada servidor. Cada cierto tiempo bajo una de las copias que están en S3 hacia mi máquina local.
  • Sumado a la copia diaria de los sitios que CPanel genera.

Todo esto lo hago con la ayuda de un script basado en los comandos que toda distribución GNU/Linux incluye, para enviar archivos hacia S3 desde el servidor lo hago con S3Sync.

En el caso de mi Desktop, aunque la mayoría de datos ya están en la nube, trato de mantener al día mis respaldos hacia un disco duro externo y uso JungleDisk para enviar lo más importante hacia S3

… ¿Y si de pronto nuestros servidores/datacenter mueren?

En el tiempo que tengo administrando sitios, ya he pasado por experiencias en las que debemos levantar una copia completa del sitio en otro servidor, y mientras menos tiempo pase abajo mejor. Idealmente tendríamos una infraestructura de respaldo capaz de manejar todo el tráfico del sitio, y que se mantengan sincronizados respecto a nuestros backups, minimizando el tiempo que el sitio pasaría fuera de linea.

Otra idea, sería provechar el Cloud hosting, Amazon EC2 por ejemplo, mantener imágenes listas con las cuales podamos iniciar instancias y levantar nuestra infraestructura en la nube; pero con la ventaja que si no la usamos, pagaríamos un precio mucho menor que tener un servidor dedicado sin uso.

En fin, si aún no tienen backups completos de su información, háganlos ya mismo. Si ya los tienen, hagan una prueba para recuperarse a partir de estos. ¿Cuanto tiempo pueden perder? Seguro mucho menos que empezar a rescatar las cenizas en caso de desastre. Todo es cuestión de disciplina :)