Top

Cargando cosas bonitas...

Recargar...

Crear backups de tu servidor Linux y subirlas a Dropbox


En este artículo voy a explicar la manera en la que automatizo la creación de copias de seguridad de mi servidor Linux.

Desde hace unos pocos meses, adquirí un servidor privado virtual (VPS), el cual tiene Debian instalado. El servidor es no gestionado. Esto quiere decir que la persona que lo alquila debe hacerse cargo de todo lo que al servidor afecta. Entre las tareas que conlleva tener un servidor, está la de asegurar los archivos y realizar copias de seguridad periódicas. Es muy importante, la mayoría de las veces los proveedores de alojamiento no asumen ninguna responsabilidad en caso de pérdida de datos.

Las copias de seguridad deben ser almacenadas en otro lugar diferente al del servidor. Es de sentido común. En caso de un fallo en los discos duros del servidor, también perderíamos las backups que tuviéramos hechas. Una de las soluciones sería alquilar otro servidor en otra localización, que únicamente utilizaríamos para almacenar las copias de seguridad. Otra de las opciones que suelen ofrecer los proveedores de alojamiento, es pagar por un servicio de “snapshots” o instantáneas. No es más que una copia exacta del servidor en un momento concreto. Sin embargo, este servicio no es gratuito, e incrementaría nuestra factura.

mr-robot-delete

Captura de capítulo de la serie Mr. Robot

¿Pero por qué no aprovechar los servicios gratuitos de almacenamiento en la nube? Tenemos a Dropbox o a Google Drive, que nos ofrecen una cantidad de espacio en Internet más que suficiente para la mayor parte de los proyectos. Yo he decidido utilizar Dropbox para almacenar mis copias de seguridad. En él guardo copias de todas las bases de datos, archivos y logs del servidor. Además automatizo todo el proceso para que no me tenga que preocupar por nada. Las copias de seguridad se realizan todos los sábados y son subidas a Drobpox en unos pocos minutos.

Scripts necesarios

  • Web Server Backup ScriptEste script escrito en BASH es el que va a realizar la debida copia de seguridad de todas las bases de datos MySQL y ficheros del servidor. En su configuración se puede indicar los días que van a permanecer almacenadas backups anteriores. También permite comprimir las copias de seguridad para que ocupen el menor espacio posible, y además esto nos vendrá muy bien para luego subirlas a Dropbox.
  • Dropbox UploaderEl siguiente paso es subir las copias de seguridad comprimidas a Dropbox. Para llevar a cabo esta tarea vamos a utilizar este script también escrito en BASH. Funciona con la API oficial de Dropbox V2. Por lo tanto, vas a necesitar crear una nueva aplicación en la página de desarrolladores App Console. El script únicamente lo vamos a utilizar para subir archivos, sin embargo, también puedes eliminarlos, crear nuevas carpetas, mover, renombrar, copiar, compartir,… casi todas las funciones que tiene Dropbox salvando que todo se lleva a cabo desde la línea de comandos.

Automatizar el proceso

Para automatizar el proceso y no tener que preocuparnos de ejecutar los scripts manualmente, vamos a programar cron jobs. La frecuencia con la que se ejecute el proceso de backup es según tu propio criterio. Yo por ejemplo, realizo una copia de seguridad de las bases de datos y de todos los ficheros todos los sábados.

Expresión cron para ejecutar ambos scripts:

El segundo comando, como puedes comprobar, se ejecuta una hora después del primero. Esto es debido a que si ocurre algún error, o se demora mucho en hacer la copia de seguridad, haya un margen de tiempo.

¡Si tienes alguna duda o te ha surgido algún problema, escríbeme un comentario o un correo electrónico! 🙂


1 Comentario

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *