Jorge Fuertes

Consultor de sistemas infomáticos.
Administración de sistemas, desarrollo.

Backups sincronizados mediante Dropbox

Últimamente se está poniendo muy de moda un servicio de sincronización de ficheros llamado Dropbox.

dropboxSe trata de un servicio combinado de interfaz web, protocolo webdav y un residente que se ocupa de sincronizar una carpeta con el servidor. Podemos instalar dropbox en varios ordenadores y así tener lo mismo en esa carpeta en todos ellos.

El servicio nos deja, de forma gratuita, unos 2Gb de espacio para meter lo que queramos, y entre otras características nos permite obtener enlaces públicos para los ficheros de la carpeta “Public“, o compartir directorios con sólo dar la dirección de correo que debe recibirlos.

Para hacer copias de respaldo de carpetas que tengamos por el disco, por ejemplo la de los profiles de Firefox, o una copia de seguridad de nuestras facturas… podríamos recurrir a jugar con enlaces simbólicos, aunque esto no siempre funciona, y resulta un poco peligroso. Si estropeamos algo en un ordenador, lo estropeamos en todos, y realmente no queremos editar en todos, sólo tirar copias de seguridad de cada uno en su directorio correspondiente y tenerlas a salvo incluso de un incendio.

Lo que yo he hecho es utilizar rsync de forma local, desde lo que quiero copiar hasta un directorio dentro de ~/Dropbox, y para ello he hecho el siguiente script:

bk_docs-dropbox.sh:

#!/bin/bash

ORIGEN="/home/queru/Documentos"
DESTINO="/home/queru/Dropbox/Backups"
OPCIONES="-axE --stats"
LOGDIR="/home/queru/Desktop/logs"
LOG="$LOGDIR/bk_docs-dropbox.log"

mkdir -p $DESTINO
mkdir -p $LOGDIR

INICIO=$(date +"%H:%M:%S@%d-%m-%Y")
echo -e "\n\n+ Sincronizando a las $INICIO." >> $LOG

rsync $OPCIONES $ORIGEN $DESTINO &>> $LOG 

FIN=$(date +"%H:%M:%S@%d-%m-%Y")
echo -e "\nFinalizado a las $FIN.\n" >> $LOG

Si ejecutamos el script a mano, obtendremos una copia exacta de la carpeta de documentos dentro de dropbox, con lo que el demonio que instalamos de este servicio se pondrá a subir todos los datos al servidor. Las siguientes veces que lo ejecutemos será muy rápido, sólo transmitirá los cambios si los ha habido.

Ahora sólo nos quedaría automatizar la tarea para que se ejecute sola, por ejemplo cada 10 minutos.

crontab -e:

# m    h   dom mon dow command
  */10 *   *   *   *   /home/queru/bin/bk_docs-dropbox.sh

Listo. Copia de seguridad sincronizada cada 10 minutos.

Nota: Este sistema sirve para cualquier UNIX, incluido OS-X. Sólo recordad que la carpeta “home”, en OS-X se llama “Users”.