Subir archivos a Amazon desde Debian o Raspbian

Amazon y Linux

Si disponemos de una cuenta Amazon Prime tendremos la posibilidad de subir fotos a amazon photos sin límite.

Esto nos ofrece una buena posibilidad de tener un backup de todas nuestras fotos en la nube además de disponer de nuestra copia en local.

Amazon tiene sus propias aplicaciones para hacerlo pero si queremos automtizar el proceso podemos hacer uso de una sencilla aplicción desarrollada en Pyton.

Su nombre es Drivesink y es de código abierto.

El sistema no es perfecto y tiene sus limitaciones, como por ejemplo el no poder subir imágenes duplicadas. De todas maneras si mantenemos nuestra libreria de fotos optimizada y sin duplicados se trata de una gran opción. Más aún cuando otras aplicaciones similares han dejado de funcionar (como la archiconocida rclone).

El primer paso será instalar y actualizar pyton-pip, un gestor de paquetes para obtener y administrar aplicaciones Pyton.

sudo apt-get install python-pip
sudo pip install –upgrade pip

Acto seguido instalaremos los módulos requests y requests-toolbelt:

pip install requests
sudo pip install requests-toolbelt

Ahor ya estamos preparados para descargar Drivesinc:

curl -O https://github.com/caseymrm/drivesink/blob/master/drivesink.py

una vez descargado le asignaremos permisos de ejecución:

sudo chmod +x drivesink

Ahora accederemos a la dirección

https://drivesink.appspot.com/config

desde nuestro ordenador o Raspberry y copiaremos el token que nos genera la página en un fichero de texto que podemos llamar drivesink a secas y que por comodidad ubicaremos en el mismo path que drivesink.py

Una vez esto ya tenemos drivesink preparado para funcionar, solo lo hemos de llamar con esta instrucción:

sudo ./drivesink.py -c drivesink upload /origen /destino

Los parámetros de la llamada pueden ser:

./drivesink.pi -h Show help
./drivesink.pi -e tipos de archivo que queremos subir (por defecto todas las imágenes). Las diferentes extensiones las separaremos con una coma
./drivesink.pi -c config file
./drivesink.pi -d drivesync url

Cabe recordar que esta aplicación sube los archivos locales a Amazon, no se trata de una sincronización ya que cualquier duplicidad para el proceso.

Si queremos automatizar esto en un comando podemos crear un shell script que podemos llamar sincronizaamazon.sh que efectue la subida de una carpeta:

#!/bin/bash

#pathconfigfile contiene la ruta hasta el archivo de token
pathconfigfile=»drivesink»

#pathremoto contiene el directorio raiz de las fotos en Amazon Drive
pathremoto=»/FotosCasa»

#pathlocal contiene el directorio raiz de las fotos en local
pathlocal=»/media/TheLibDisk/fotos»

pathcompletolocal=$pathlocal»/»$1
pathcompletodestino=$pathremoto»/»$1

echo $pathcompletolocal
echo $pathcompletodestino

sudo ./drivesink.py -c $pathconfigfile upload $pathcompletolocal $pathcompletodestino

Que llamaríamos así:

./sincronizaamazon.sh «FotosBoda»

 

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *