backup

  • Un problema que he descubierto recientemente con Bacula, es que el File Deamon en los clientes no sigue links simbólicos que apunten a otro filesystem o a un directorio que no es parte del backup (FileSet, conjunto de archivos a resguardar). Esto es un comportamiento lógico, pues Bacula da precedencia a la configuración de Include y Exclude dentro de cada FileSet. Sin embargo, es un detalle particular a tener en cuenta al momento de definir tanto los FileSet como los trabajos de Backup, pues Bacula no sigue aquellos symlinks que apunten a directorios fuera del conjunto a resguardar.

  • Este artículo muestra cómo correr un script o comando en un cliente de Bacula, justo antes de que comience el trabajo de backup para el mismo. Esto es muy necesario para el caso de los servidores de bases de datos, donde se requiere realizar un volcado (dump) de las bases de datos a disco (por ejemplo mysqldump o pg_dump) para que sean parte de la copia de seguridad.

  • Este breve artículo explica cómo listar las tareas de backup en estado de error desde línea de comandos en Bacula.

  • Comparto un script sencillo que permite borrar automáticamente backups viejos en un servidor GNU/Linux.

  • El siguiente artículo explica los pasos de configuración necesarios para agregar un cliente (junto con un trabajo de backup para el mismo) en el director de Bacula.

  • Como saben, Linuxito ha migrado de un servicio de hosting tradicional (donde te dan un espacio y un panel de control en un servidor compartido) a un VPS (Virtual Private Server). ¿Qué es un VPS? Una simple máquina virtual (KVM, VMware, Hyper-V, VirtualBox) o contenedor (Docker, Jails, LXC) en la nube (cloud, en un centro de cómputos remoto). Un servicio de hosting compartido nos da todo "digerido", mientras que, cuando se trabaja con un VPS, uno es responsable de todo lo relacionado a software y servicios. Este artículo sirve como guía para aquellos administradores de sitios Web, montados en servidores virtuales en la nube, que desean implementar un sistema de copias de seguridad (backup) simple, eficiente y seguro, utilizando sólo las herramientas al alcance de la mano (sin recurrir a software específico de backup).

  • El script de inicio del agente de backup RALUS de Symantec no habilita el log por defecto. El mismo puede ser útil a la hora de depurar errores de conexión con el agente. Este artículo explica cómo habilitarlo editando una simple línea del script de inicio.

  • En el artículo anterior expliqué cómo montar un servidor de backup open source con Bacula en Debian. Ahora voy a demostrar los sencillos pasos para instalar el agente de backup en un servidor FreeBSD y lanzar un trabajo de backup desde el director.

  • Este (extenso) artículo cubre la instalación, configuración y puesta en funcionamiento de todos los componentes de un servidor de backup Bacula sobre Debian con PostgreSQL. Además de una breve introducción de cada uno de sus componentes y funcionamiento.

  • Por seguridad guardo una copia de cada artículo en una carpeta personal de Dropbox. Hoy, accidentalmente sobrescribí por completo el contenido de un archivo. Luego de lanzar un par de blasfemias al aire me detuve a pensar y recordé que Dropbox mantiene un versionado de los archivos que almacenamos en la nube.

    Por defecto, Dropbox almacena versiones anteriores de todos los archivos y copias de seguridad de archivos borrados por 30 días. En este artículo voy a explicar cómo restaurar una versión anterior y cómo recuperar un archivo borrado de una carpeta en Dropbox.

  • Llegó la hora de poner en producción mi servidor de backup implementado con Bacula en Debian. Es por ello que, luego de clonar e instalar la nueva máquina virtual en el cluster de producción, es necesario realizar una limpieza (reset) del catálogo (base de datos) del Director de Bacula y los archivos (backups) del Storage Deamon, para comenzar nuevamente con un inicio fresco.

  • En este artículo voy a demostrar cómo restaurar la copia de respaldo más fresca de un cliente, previa a una fecha específica, desde la consola de Bacula.

  • Si ha ocurrido un desastre y es necesario restaurar una base de datos MySQL a partir de un dump (copia de seguridad) generado con la herramienta mysqldump, se deben seguir éstos simples pasos. Por supuesto, siempre que dispongamos de backups de nuestras bases de datos MySQL.

  • Como bien saben aquellos que han leído la Biblia del SysAdmin, las copias de respaldo (backups) son uno de los aspectos más importantes para garantizar el correcto funcionamiento de un servicio, y la persistencia y durabilidad de los datos. Desde que Copy (servicio de almacenamiento en la nube gratuito) cerró sus puertas, perdí uno de los aspectos más importantes (más bien crucial) en mi estrategia de backup: la replicación de las copias de seguridad. En este tiempo estuve analizando diferentes alternativas para guardar copias de respaldo de los datos en mi VPS en la nube (Dropbox, Mega, OneDrive, Google Drive y otras), y finalmente me decidí por Google Drive (sigamos dependiendo más y más de Google, total, ¿qué puede fallar?).

    El primer cliente de línea de comandos que probé fue google-drive-ocamlfuse, pero luego de compilar e instalar una maraña horrible de dependencias falló el intento de compilación final a causa de un estúpido bug sin parchar. Lo que me llevó a decantar por "drive" (github.com/odeke-em/drive) un cliente mínimo soportado de manera semi-oficial por parte del staff de Google Drive. Además de estos dos, existen otros clientes de Google Drive de línea de comandos, por ejemplo gdrive, los cuales no alcancé a probar pues "drive" satisfizo mis necesidades.

    Este artículo explica cómo instalar y utilizar el cliente de línea de comandos "drive" en sistemas basados en Debian.

  • GitLab es una herramienta de DevOps completa que incluye control de versiones, Wiki, CI y más. Esto significa (y habrán podido comprobarlo quienes hayan realizado una instalación manual de GitLab desde los fuentes) que está conformado por un buen número de componentes, y al momento de implementar una estrategia de backup puede resultar abrumadora. Sin embargo, afortunadamente GitLab cuenta con su propia herramienta de backup incluida en el paquete de instalación. Este artículo explica cómo configurar una estrategia de backup y utilizando dicha herramienta.

  • En este artículo voy a explicar cómo crear archivos tar sin atravesar sistemas de archivos (puntos de montaje), muy útil para cuando necesitamos hacer un backup el sistema de archivos raíz (/).

  • En el artículo anterior expliqué cómo crear un bucket en Google Cloud Storage, y cómo subir archivos a la nube desde una aplicación Python, utilizando la API XML de GCS. Ahora voy a demostrar cómo montar un esquema de backup simple, que permita almacenar los backups del servidor en un bucket de Google Cloud Storage.

  • Al crear una copia de seguridad, puede ser útil excluir ciertos directorios o archivos no indispensables (tales como directorios temporales, caches, etc.) a fin de ahorrar espacio y tiempo de compresión. Este artículo demuestra cómo excluir un directorio al crear un archivo con tar.

  • Hace unos años trabajé con un cliente en el diseño y desarrollo de su sitio Web basado en Joomla!. La modalidad del contrato fue un desarrollo "llave en mano", es decir la elaboración del proyecto de software completo de principio a fin con el objetivo de lograr un sistema que satisfaga las expectativas del cliente. La situación particular del caso fue que el propio cliente decidió encargarse de reservar su dominio y contratar un proveedor de hosting, en lugar de delegar todo al proveedor (en este caso la empresa para la cual trabajo). Por lo que no se trató de un proyecto puramente "llave en mano", hubo intervención del cliente en este punto.

    Por otro lado, el cliente optó por no contratar ningún servicio de administración, monitoreo y mantenimiento del sitio. Tal vez para ahorrar costos o para independizarse de un proveedor, el cliente (cuya área de trabajo no está relacionada a las tecnologías de la información) decidió encargarse de administrar su sitio Joomla!, servicio de hosting, dominio, etc. La relación cliente/proveedor concluyó una vez finalizado el proyecto.

    Recientemente el cliente se volvió a contactar desesperado debido a que aparentemente el proveedor de hosting sufrió un incendio en su centro de cómputos que provocó la destrucción total de los datos, incluyendo las copias de respaldo (backups). Como el cliente nunca había descargado un backup de su sitio desde el panel de control del hosting, la situación era crítica y se enfrentaba ante el peor escenario: desarrollar su sitio nuevamente desde cero.

  • A lo largo de una serie de artículos voy a publicar los principios básicos que todo SysAdmin debe respetar, practicar y predicar a sus pares. Estos principios los he tomado (y orgullosamente puedo decir que he respetado casi en su totalidad) del artículo General SysAdmin Principles & Guidelines publicado por el Dr. Joe Chung.