Backup de ficheros web (ubuntu) utilizando dropbox.
La idea es bastante simple, utilizar dropbox como "salto intermedio" entre dos servidores. En un primer término nos servirá como almacenamiento de los ficheros "vivos" del portal, con control de versiones (interesante ya que no va a ser un backup al uso), en este caso es una tienda virtual, con lo que imagenes, textos, módulos, etc... estarán a buen recaudo y a prueba de "dueños con manos inquietas".
¿Cómo lograremos que los archivos lleguen a la carpeta dropbox?
A priori podríamos cambiar la ubicación por defecto de la carpeta dropbox, pero parece ser que da muchos problemas con links simbólicos y similares, además no vamos a tocar los datos de origen ni someterlos a inspecciones constantes del demonio de dropbox, ya que es un entorno productivo. Lo que vamos a realizar es un rsync entre /var/www y /root/Dropbox/ cronificado cada 24 horas. Por una parte tenemos que un rsync sólo "cargará" la máquina cuando haya un fichero nuevo o modificado. Al principio puede ser una tonteria pero si la tienda va bien, rsync puede haber sido mejor que un triste "cp"
Instalación de dropbox:
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
~/.dropbox-dist/dropboxd
~/.dropbox-dist/dropboxd
y nos dará un código para enlazar la máquina a la cuenta, abrir en un navegador externo e introducir la contraseña.
para autostart introducir:
dropbox autostart y
para parar: dropbox stop y para arrancar dropbox start
Vía web podemos "vigilar" la transferencia de los datos, pero primero hagamos el rsync (apt-get install rsync por si no lo teneis)
rsync -altgvc /var/www/ /root/Dropbox/mdc01/
la primera vez puede tardar algo, pero si lo repetis vereis que compara los archivos y no copia nada si no hay cambios.
A partir de entonces ya sólo queda poner el trabajo como un cron job, yo lo he puesto cada 24 horas, así si hay algun cambio se puede revertir sin que se replique, porque la idea original es hacer un mirroring asíncrono invirtiendo el proceso. Para ello nos hace falta otro servidor de caracteristicas similares y un método que ya os desvelaré en otra entrega para realizar la sincronización de las bbdd, en este caso Mysql. Así mientras que los ficheros más o menos estáticos pueden sincronizarse cada 24 horas la bbdd podria hacerlo cada menos tiempo o incluso online (no me convence pero bueno). Además con este sistema estamos seguros en todo momento que nuestros datos están integros, ya que podemos "tocarlos" en el dropbox via web.
P.D: Esto forma parte de un manual de seguridad para una solución cloud computing de tienda virtual.