Vivimos en un mundo cada vez más conectado y también esto nos obliga a tener sincronizados nuestros archivos en todos los dispositivos que están a nuestro alrededor.
Para esta sincronización existen diversos servicios que nos permiten tener sincronizados nuestros archivos.
Uno de estos servicios es dropbox y nos encanta porque podemos utilizarlo en ubuntu. Además es fácil de usar, tiene una interfaz sencilla y es ampliamente utilizada.
Esta solución de almacenamiento en la nube tiene cuentas gratuitas y de pago, las gratuitas están limitadas a 2GB y las de pago tienen un amplio abanido de opciones.
Aún con la limitación de 2GB que puede ser ampliado si invitas a amigos y familiares, vamos a ver como configurarlo en ubuntu. Así podremos acceder a nuestros archivos de manera sencilla.
Tabla de Contenido
Instalación de dropbox
Instalar dropbox en ubuntu es muy sencillo.
Tenemos que irnos a la página web oficial y descargarnos el archivo para nuestro sistema.
Una vez que tengamos descargado drobpox, nos vamos a la carpeta donde lo hayamos descargado y lo instalaremos mediante el siguiente comando por consola:
sudo dpkg -i dropbox_2015.10.28_i386.deb
También podríamos haber realizado una instalación desatendida por consola. Tendríamos estas dos posibilidades según tuviesemos un equipo de 32bit o de 64 bit:
- 32 bit:
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf - && ~/.dropbox-dist/dropboxd
- 64 bit:
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf - && ~/.dropbox-dist/dropboxd
Seguimos los pasos en la instalación, nos damos de alta en el sistema o nos creamos una cuenta en el caso de que no tengamos, y los archivos se empezarán a sincronizar con nuestro ordenador.
A partir de este momento nuestro directorio que se ha creado en ubuntu se sincronizará en la nube y podremos verlo en todos los dispositivos que tengamos instalado dropbox.
Subir archivos a dropbox vía Python
Esta opción que vamos a ver a continuación es muy útil para poder subir archivos programados con python.
Lo interesante es que esta opción la programaremos nosotros a nuestro antojo y podremos añadir las modificaciones que nos interesen.
Recuerda que para todo esto necesitas una cuenta de dropbox.
Así que tendremos que crearnos una app en el apartado de desarrolladores de dropbox, así que nos iremos al siguiente enlace: https://www.dropbox.com/developers/apps/create.
En las opciones que salen para no complicarnos la vida, seleccionaremos Dropbox Api en el paso 1, App folder – Access to a single folder created specifically for your app (Acceso a una sola carpeta creada específicamente para la aplicación), y en el paso 3 darle un nombre a la app.
Cuando le das al botón create app, llegarás a un pantalla donde tendrás muchas opciones. No es necesario que toques nada.
Tendrás que crear una clave de acceso única de aplicación (Token), que será necesaria para que puedas acceder con la app al espacio que tengamos disponible.
Busca el apartado Generated access token y presiona el botón para generar la clave.
La clave generada es una ristra muy larga de números y letras. Recuerda copiarla y guardarla en lugar seguro para cuando la necesitemos. Este será tuTuTokenDeAccesoDeApp.
Antes de poder crear nuestro programa en python, necesitamos actualizar el sistema e instalar algunos programas:
sudo apt-get update sudo apt-get upgrade
Una vez que tenemos actualizado el sistema, necesitamos instalar los siguientes modulos: openssl, pip y el de dropbox:
sudo apt-get install python-openssl sudo easy_install pip sudo pip install dropbox
Ya tenemos todo lo necesario para poder crear nuestro programa en python. Para crear nuestro fichero, solo necesitas crear un archivo de textoo con tu editor favorito, que se llame por ejemplo subir-archivo.py y escribe el siguiente código, para subir una foto que tengamos:
import dropbox import datetime suffix = datetime.datetime.now().strftime("%Y-%m-%d-%H-%M-%S") nombre = "App-python-" + suffix + ".jpg" client = dropbox.client.DropboxClient('TuTokenDeAccesoDeDropbox') f = open('foto.jpg', 'rb') respuesta = client.put_file(nombre, f) print "Resultado:", respuesta
Para que entiendas que significa cada apartado, el código es el siguiente:
- En las líneas 1 y 2 importa las librerías de dropbox y de fecha y hora.
- En las líneas 3 y 4 utiliza la fecha y la hora para generar un nombre de archivo único para cada foto por si subimos más de una.
- En la línea 5 se inicializa un cliente de Dropbox con un token de acceso.
- En la línea 6 abrimos una imagen que será la que subiremos.
- La línea 7 guarda el archivo que hemos seleccionado en Dropbox con nuestro nombre de archivo único que hemos generado.
- En la línea 8 lo que hace es imprimir el resultado de la respuesta API de dropbox.
No te olvides de reemplazar TuTokenDeAccesoDeApp con el token que has generado en el paso anterior. También tendrás que tener el archivo foto.jpg en el mismo directorio que el archivo python programado que nos sube los archivos automáticamente.
Si ejecutas el archivo subir-archivo.py y todo funciona correctamente obtendrás una respuesta parecida a esta:
Ahora podrás entrar en tu cuenta vía web y comprobar como se ha subido la foto que teníamos en nuestro equipo. Tendrás un directorio llamado Apps y dentro de el estará el directorio con el nombre de la aplicación y la foto subida.
Usar Dropbox desde consola
Una de las posibilidades que tenemos con este tipo de almacenamiento en la nube es que podemos instalar dropbox en ubuntu server y utilizarlo desde consola. Esto nos permite crear nuestros propios scripts y tener archivos sincronizados en distintos dispositivos utilizando la terminal.
Aunque dropbox trae un script que podemos utilizar en nuestro servidor, tenemos muchas más opciones con el siguiente comando que tenemos que instalar en nuestro servidor.
Dropbox Uploader es un interfaz de cliente por consola (CLI) fácil de usar escrito en bash. Mediante el uso de este script por consola aprenderás a utilizar el almacenamiento en la nube con todas sus características.
Instalar y configurar Dropbox_Uploader en linux
Para poder utilizar este script lo descargaremos y lo haremos ejecutable:
wget https://raw.github.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh chmod +x dropbox_uploader.sh
Asegúrate de tener instalado curl
en tu sistema ya que Dropbox Uploader ejecuta la API de Dropbox a través de de curl
.
Para configurar Dropbox Uploader, simplemente ejecuta ./dropbox_uploader.sh
. Cuando ejecutes el script por primera, te pedirá permiso para poder acceder a tu cuenta.
./dropbox_uploader.sh
Te aparecerá la siguiente imágen:
Tendrás que crear una aplicación en la parte de desarrollo, es decir tendrás que abrir en el navegador https://www.dropbox.com/developers/apps y crear una nueva app. Rellena la información como la siguiente imagen e introduciendo un nombre a la app que vamos a crear:
Después de crear la aplicación verás la App key y la App Secret, recuerda tomar nota de ellas:
Con estas claves, nos vamos a la consola que teníamos abierta e introducimos las claves que nos pide. Una vez que lo hayamos hecho el script generará una URL oAUTH para que pueda acceder y que abriremos en un navegador.
Cuando abras la URL obtenida con el script te pedirá que le concedas acceso a poder gestionar tu cuenta. Una vez aceptado ya podrás subir, descargar y gestionar archivos por la consola.
Una vez que has llegado hasta aquí ya tienes completado todo el proceso de Dropbox_Uploader.
Si quieres comprobar si la autentificación es correcta, ejecuta el siguiente comando:
./dropbox_uploader.sh info
Obtendremos algo parecido a esto:
Dropbox Uploader v0.16 > Getting info... Name: Javier Perez UID: XXXXXXXXXX Email: my@email_address Quota: 2048 Mb Used: 13 Mb Free: 2034 Mb
Ejemplos de Dropbox_Uploader
Listar todos los archivos contenidos en el directorio principal:
./dropbox_uploader.sh list
Listar todo el contenido de una carpeta específica:
./dropbox_uploader.sh list Documentos/manuales
Para subir un archivo local a una carpeta específica de Dropbox:
./dropbox_uploader.sh upload manualillo.pdf Documentos/manuales
Descargar un archivo remoto desde Dropbox a un archivo local:
./dropbox_uploader.sh download Documentos/manuales/mysql.pdf ./mysql.pdf
Para descargar una carpeta entera remota (con todo su contenido) a una carpeta local:
./dropbox_uploader.sh download Documentos/manuales ./manuales
Para crear una carpeta remota en Dropbox:
./dropbox_uploader.sh mkdir Documentos/informes-tecnicos
Para borrar una carpeta entera (incluyendo todo su contenido) de Dropbox:
./dropbox_uploader.sh delete Documentos/manuales
Con esto ya podrías crear tus propios scripts y gestionar dropbox en ubuntu a tu manera.
¿Cuál es el siguiente proyecto que vas a implementar?
Deja un comentario