Si hay algo que nos agobia a todos los programadores, IT es hacer Backup. (Copias de Seguridad). El usuario común por ahí no le da mucha relevancia, aunque debería, pero nosotros si. Por ahi son cosas importantisimas y pesadas como el Storage de Exchange o livianas, como una pequeña base de datos de MySQL de nuestra aplicación. Talvéz vos no seas IT (T.I. en Español) pero tenés toda esa cantidad de fotos que cuando explote tu pc seguro te van a hacer sufrir. De todas formas… La idea es «Salvar». Salvar todos los datos que sean sensibles de forma que, por más que tu disco explote, tu información se mantenga segura.
Hay muchos servicios que hostean tus archivos en Internet, muchíiiiiiisimos!. Yo sólo me voy a detener en Dropbox. La idea es subirlos en algún seguro de la red a fin de que, por más que tu pc explote, allí los tengas. O si el cambio que hiciste en la base de datos no funciona bien puedas volver atrás. (Obviamente no es tan así con bases de datos en desarrollo, pero puede suceder. Para MySQL ver Syncschema[más adelante traer un artículo que escribí sobre esta aplicación]).
Dropbox es un servicio de hosting de archivos personales. Tiene muchas ventajas y estas crecen día a día. Te da 2GB gratis y por cada vez que lo recomendás se te agregan 500MB más. Instalás un cliente, que se carga en el tray (barra de tareas) y se ejecuta cuando se prende la máquina. Sincroniza todo los archivos que pongas en esa carpeta con los que están en el servidor. Si modificas el archivo, se modifica en el servidor. Si aparte lo tenés instalado en varias pcs, celulares (funciona en cualquier parte) se sincroniza en todos lados. Si se cayera el servicio, los archivos los seguís teniendo en tu pc. (cero pérdida de información).
La verdad que es un servicio excelente.
Cómo lo usamos para Backup?. Bueno, primero que nada a Registrarse y armarse una cuenta por acá: https://www.dropbox.com/login?lhs_type=anywhere, luego instalarse el cliente (Presionen el botón Descargar) y la instalación es… Siguiente Siguiente Siguiente (Si tienen Windows) si tienen Linux varía, pero es prácticamente lo mismo. Los Macosos solo arrastren a Aplicaciones o doble click sobre el .dmg.
Todo lo que quieran backupear lo ponemos en la carpeta que se acaba de crear que dice DROPBOX! y listo. Sube automaticamente. (Fotos por ejemplo). Obviamente todas las carpetas que creemos dentro también se sincronizaran.
Que pasa si lo queremos poner en un servidor… por ejemplo… Linux, donde no tenemos interfase gráfica, sólo una consola. Bueno, tengo un script!. Dropbox tiene una api para poder programar aplicaciones que hagan lo que queramos. Es muy completo. Así que, usando esa API vamos a subir los archivos con este script.
Procedimiento Linux Consola:
- Obviamente primero necesitamos crear una cuenta de Dropbox en la dirección anterior.
- Luego ir a https://www.dropbox.com/developers/apps y crear la aplicación. Presionar en «Create App. Completar los datos que te solicite: App Name: Mi aplicacion dropbox… etc, Description: La descripcion de tu app, Access: App folder si se desea que la app solo tenga acceso a una carpeta con su nombre, o Full Dropbox si se desea que pueda acceder a todo el contenido de la cuenta. (Esto va a definir dónde se van a guardar los archivos que subas)
- Click en Create! y tomar nota de los datos App key, App secret, Access type y guardarlos en algún lado. Nuestro script nos lo pedirá.
- Copiar el archivo dropbox_uploader.sh en algún lado, dónde funcionará y darle permisos de ejecución (chmod +x dropbox_uploader.sh). Ejecutarlo y Completar todos los datos que pida. (Te va a pedir los mismos datos que Dropbox te dió en el paso anterior.
- Listo, ahora lo podés usar como quieras. Algunos comandos útiles:Descargar un archivo:
$ ./dropbox_uploader.sh download Public/cancion.mp3 rolita.mp3
Eliminar un archivo:
$ ./dropbox_uploader.sh delete Photos/navidad.jpg
Listar el contenido de una carpeta:
$ ./dropbox_uploader.sh list carpeta_compartida
Mostrar información de la cuenta de Dropbox vinculada:
$ ./dropbox_uploader.sh info
Desvincular la cuenta de Dropbox:
$ ./dropbox_uploader.sh unlink
La verdad… es bastante sencillo. Con sólo agregarlo al final de tu archivo sh de backup en un cron ya tenés un fuerte respaldo.
Es bastante grosa esta solución. Por ejemplo, a las 00hs por ahi estoy navegando y de pronto aparece un popup: «Se ha sincronizado Backup-20-03-2013.tar.gz» y me alegra la vida ver que está haciendo backup correctamente mi aplicación.
La verdad es una aplicación muy útil para evitar perdidas de esos archivos tan importantes y una solución al problema de la «Oficina Itinerante». 🙂
Probalo y contame!
Agregado. Usos creativos de Dropbox?: http://bitelia.com/2013/03/usos-creativos-de-dropbox Todo lo que podes hacer con esta aplicación.