Introduction: Descarga Archivos De Mega Con Raspberry Pi

About: Fundador de The Inventor's House Hackerspace, Movimiento Maker y Hardware Libre, DIY, Workaholic

Hola a todos, en varias ocasiones por la chamba que me cae en fiverr es necesario enviar imágenes de Raspberry comprimidas, la última vez me tocó enviar una imagen que pesaba casi 3 GB por la cantidad de cosas que instalé.

Mega es mi servicio preferido para enviar estas pesadas imágenes debido a que su velocidad de subida y de descarga es muy buena (Dropbox y Google Drive no terminan por convencerme) y además tienes 50 GB de espacio gratis. El problema recurrente es que siempre tengo que dejar subiendo esta imagen en mi computadora principal (en varias ocasiones he tenido que dejarla toda la noche), afortunadamente tenemos una interesante opción para hacer esto desde nuestra Raspberry (y no exactamente haciéndolo desde el navegador web).

Step 1: Instalar Herramientas

Lo que vamos a usar se llama Megatools (http://megatools.megous.com/) lo cual es una interfaz de linea de comando para Mega.

Como primer paso necesitamos instalar las dependencias:

sudo apt-get -y install build-essential libglib2.0-dev libssl-dev libcurl4-openssl-dev libgirepository1.0-dev 

Descargamos el código fuente y descomprimimos:

wget <a href="http://megatools.megous.com/builds/megatools-1.9.94.tar.gz">http://megatools.megous.com/builds/megatools-1.9.9...</a>

Ahora aplicamos la típica secuencia para compilar en Linux:

cd megatools-1.9.94 
./configure 
make 
sudo make install 
sudo ldconfig

Step 2: Configuración De Cuentas

Agregaremos nuestra cuenta de Mega, para esto necesitamos crear un archivo oculto llamado “.megarc” en el directorio $HOME (/home/pi) y agregar las credenciales en el siguiente formato:

nano /home/pi/.megarc 

Agregamos:

[Login] 

Username = your@email

Password = yourpassword

Guardamos y salimos (ctrl+o y ctrl+x), para comprobar que se puede conectar ejecutamos:

megadf 

Mostrará algunos errores debido a que no encuentra el entorno X11, puedes ignorar esto, y al final nos dirá los datos de almacenamiento de nuestra cuenta

Step 3: Subir Un Archivo a Mega

Este es el escenario, tienes que subir un archivo a Mega, ya lo tienes listo para enviar en tu computadora principal y quieres subirlo a Mega con tu Raspberry.

Lo primero es copiar el archivo a una memoria USB y conectar esa memoria a tu Raspberry, después vamos a crear una carpeta y a montar la memoria en esa carpeta con los siguientes comandos:

cd $HOME 

mkdir media
sudo mount /dev/sda1 media df -h

Con el comando “df -h” podemos ver si la memoria se montó correctamente, con “ls” podemos ver los archivos de la carpeta, en este caso el archivo de interés es “Comprobante de pago 2.pdf”

cd media 

ls

Para evitar que el archivo se pierda en el posible mar de archivos que tengamos en la raíz de nuestra nube en mega, crearemos una carpeta en nuestra nube llamada “pagos”, para esto hay que entender que tenemos la siguiente estructura de carpetas en la raíz de nuestra nube:

  • /Contacts Tu agenda de contactos de otros usuarios Mega
  • /Inbox Bandeja de entrada de mensajes de otros usuarios de Mega
  • /Root Carpeta donde se alojan los archivos
  • /Trashes Carpeta de la papelera de reciclaje

Nuestro interés se centra en /Root, que es la carpeta donde se alojan los archivos, procedemos a crear la carpeta:

megamkdir /Root/pagos

Y procedemos a subir nuestro archivo:

megaput –path /Root/pagos Comprobante\ de\ pago\ 2.pdf

Vamos a nuestra cuenta en Mega y podemos confirmar que el archivo se ha subido a la carpeta indicada.

Step 4: Descarga De Un Solo Archivo De Mega

Ahora el escenario es más simple, tenemos un link que queremos descargar, con el siguiente comando descargamos el archivo:

megadl ‘https://mega.co.nz/#!ZxRgzDBT!aRABqj1xs8FQvYNkFzJCxsg-63j3sNdFkUleKMq01HM’ 

Hay que resaltar que se usa comillas simples (‘) de cada lado del link con el fin de evitar malas interpretaciones de la consola, no necesitas tener tu cuenta registrada para descargar un link publico con megadl (recuerda desmontar la memoria con “sudo umount /dev/sda1” para evitar perdida de archivos).

Step 5: Sincronización De Carpetas

En ocasiones la cantidad de archivos que queremos subir (o descargar) son muchos , para este escenario usamos megasync.

Supongamos que encontramos varios archivos en mega que queremos descargar, lo primero es agregar los archivos a nuestra nube en Mega, para esto simplemente damos clic en importar a nuestra nube cuando tengamos la venta de descarga.

Una vez importado lo movemos a una carpeta donde agruparemos todos los archivos a descargar, para este ejemplo tengo unas fotos de impresión 3D en una carpeta que quisiera descargar.
El truco aquí es descargar las imágenes con la Raspberry, pero que sean colocadas en la memoria USB de forma directa, esto es ventajoso si la cantidad de archivos es grande, ya que para pasar los archivos a nuestra computadora principal solo hace falta desconectar la memoria y copiar.

Nos movemos a nuestra USB, creamos una carpeta y descargamos:


cd /home/pi/media mdkir fotos cd fotos megasync –local ./ –remote /Root/fotos –download

La opción –download es necesaria, debido a que el comportamiento por defecto de megasync es subir archivos. Ahora nuestras imágenes están en nuestra memoria USB, listas para ser descargadas a nuestra computadora principal (recuerda desmontar la memoria con “sudo umount /dev/sda1” para evitar perdida de archivos).
Ahora subiremos algunas otras fotos con el mismo comando, con “ls” podemos ver que he agregado un par de fotos a la memoria:

Repetimos el comando pero sin la opción –download:

megasync –local ./ –remote /Root/fotos

Si nos vamos a nuestra nube podremos ver que los archivos se han subido.

Step 6: Dejar Trabajando a La Raspberry

Si estas con una sesión de ssh y haces un megasync/megadl/megaput y cierras la sesión te darás cuenta que la ejecución termina, lo que es muy molesto si los archivos son muy grandes, para esto usamos el comando de linux nohup, el cual mantiene el proceso (programa) corriendo a pesar de que la sesión de consola ha terminado.

nohup megaput –path /Root/fotos test_mp4.mp4

Con esto concluimos este post, espero les sea de utilidad como lo es para mi, cualquier comentario o duda no duden en escribirla en la sección de comentarios.

Agradecemos a nuestro amigo Federico Ramos Twitter: @tejonbiker

Más información y links:

Después de instalar megatools, en tu consola de la Raspberry ejecuta:

man megarc

man megadl

man megaput

man megammkdir

man megasync

http://rm-rf.es/nohup-mantiene-ejecucion-comando-...

http://www.raspberrypi.org/forums/viewtopic.php?t...

http://rm-rf.es/nohup-mantiene-ejecucion-comando-...