Subir archivos a Dropbox desde la consola

por | 17 julio, 2017

La existencia de los medios de almacenamiento en la nube, han despertado distintas necesidades. Para quienes la consola lo es todo, nubes como DropBox, pueden ser una opción muy simple de usar.

Dropbox Uploader es un BASH script que permite hacer operaciones sobre nuestra cuenta de Dropbox; cosas como subir, descargar, eliminar, listar, crear directorios.

La herramienta es portable, solo requiere del uso de cURL como requisito. Además no almacena nuestras credenciales de dropbox, lo que la hace no invasiva.

Las características comunes que soporta la herramienta:

  • Simple de configurar.
  • Crea/Sube/Descarga/Lista Archivos
  • Múltiple de plataforma de uso.
  • Permite subir y bajar archivos/carpetas de forma recursiva.
  • Se puede monitorear los cambios realizados.

Para su uso descargamos el script desde la consola.

curl "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader.sh

Una vez descargado, le damos permiso de ejecución:

 chmod +x dropbox_uploader.sh 

Primeramente vas a tu cuenta de Dropbox, en el apartado de desarrolladores, creas la aplicación

y tomas el valor del token, para ingresarlo en la consola:

una vez realizado eso ya tenemos acceso a nuestra cuenta de dropbox desde la terminal. Por defecto, el archivo de configuración del script se aloja en la raíz (/) del disco.

CONFIG_FILE=~/.dropbox_uploader

Ahora queda solo ejecutarlo, desde la carpeta donde fue descargado.

./dropbox_uploader.sh

La primera vez que es ejecutado se debe configurar siguiendo las instrucciones que indica.

Algunas opciones disponibles de la herramienta

  • Listar todos los archivos del directorio principal:
./dropbox_uploader.sh list 
  • Listar todo el contenido de una carpeta:
./dropbox_uploader.sh list MiCarpeta 
  • Crear una carpeta remota en Dropbox:
./dropbox_uploader.sh mkdir MiCarpeta/MiSubCarpeta 
  • Para borrar una carpeta en Dropbox:
./dropbox_uploader.sh delete MiCarpeta/MiSubCarpeta 
  • Subir un archivo local a una carpeta de Dropbox:
./dropbox_uploader.sh upload archivo.txt MiCarpeta 
  • Descargar un archivo remoto desde Dropbox a un archivo local:
./dropbox_uploader.sh download MiCarpeta/archivo.txt /home/usuario/documentos/archivo.txt 
  • Si deseamos ver información de nuestra cuenta Dropbox
./dropbox_uploader.sh info 
  • Para ejemplo practico, decidimos implementar la herramienta en la automatización de respaldos (SubirArchivoDropBox.sh).
#!/bin/bash
DROPBOX_UPLOADER=/Carpeta/Donde/Se/Descargo/El/DropBox/dropbox_uploader.sh
$DROPBOX_UPLOADER -f /Carpeta/Donde/Se/Descargo/El/DropBox/./dropbox_uploader upload /Ruta/Del/Archivo/a/Subir/archivo.txt /Carpeta/En/Dropbox

Luego podemos planificar un Trabajo:

* * * * * root (cd / ; /Carpeta/De/Mi/Script/./SubirArchivoDropBox.sh)

Más información sobre esta herramienta, está disponible en la página de GitHub de su desarrollador.

7 pensamientos en “Subir archivos a Dropbox desde la consola

  1. tannhausser

    Gracias por esta colaboración @anger. No utilizo Dropbox («because reasons») pero la herramienta si se ve muy interesante.

  2. davidochobits

    Un placer volver a leerte Anger. Lo cierto es que hace tiempo que no utilizo Dropbox (llegué a pagar por tener almacenamiento extra). De hecho me avisaron que me iban a cerrar la cuenta porque llevaba un año sin usarla y entre sólo para que no me la cerrasen. En cualquier caso el artículo será muy útil para la legión de usuarios que utiliza ese servicio.

    Saludos!!

  3. cesarpachon

    buen post! también había dejado de usar Dropbox por un tiempo por el tema de privacidad, ahora lo uso en combinación con encfs de manera que lo que se guarda en la nube ha sido previamente encriptado localmente. me parece que asi logras un buen equilibrio entre privacidad y disponibilidad.

  4. Jose Daniel Rodriguez

    Rclone es una buena alternativa y soporta mas servicios

    1. Anger

      Gracias jose Daniel, se ve excelente herramienta, vamos a mirar (ncw/rclone)

Los comentarios están cerrados.