Escrito el 23 septiembre 2013 por Luis Ignacio Díaz Martínez
Tabla de contenidos
Últimamente que estoy haciendo tantas fotografías tengo la necesidad de poder transferir una gran cantidad de información a través de la red.
Por ello pensé que una buena alternativa sería subir dichas fotografías de forma temporal en Mega no obstante… tener que mantener el navegador arrancado mientras se transfiere tal cantidad de información me es muy incómodo y más cuando la información está en un pequeño servidor local que actúa como NAS.
Así que me he buscado la vida y he encontrado como gestionar este gran servicio de cloud desde nuestra distribución GNU/Linux.
El desarrollo de los pasos aquí descritos los realizaré con una distribución GNU/Linux, una Debian Wheezy actualizada hasta el día de hoy… y como no, una cuenta de Mega funcionando (versión free).
Principalmente existe Go-Mega que sencillamente es una librería cliente que interactua con la API de Mega.
Después tenemos el binario (software) que por medio de la librería gestiona nuestro cloud.
El proyecto en cuestión es el siguiente:
Y sencillamente descargaremos el binario que nos indica en la página de GitHub referente a Linux (que está alojado en Mega).
No obstante he realizado un mirror de esta versión (0.011) para poder simplificar las instrucciones de este artículo.
A continuación en un terminal escribiremos lo siguiente….
1 2 3 4 5 |
wget https://luigdima.name/wp-content/uploads/2013/09/megacmd.tar.gz tar xzvf megacmd.tar.gz rm -R megacmd.tar.gz mv megacmd /usr/local/bin chmod +x /usr/local/bin/megacmd |
Ahora tendríamos que tener la aplicación «megacmd» accesible desde nuestro shell… pero no hemos acabado! ahora toca configurarlo.
Para que todo funcione… tocará pasarle nuestros datos de acceso a la aplicación, para ello crearemos un fichero JSON donde almacenaremos la información que necesita la aplicación para poder funcionar.
El archivo lo almacenaremos en el directorio home del usuario…
1 |
nano $HOME/.megacmd.json |
Donde escribiremos lo siguiente…
1 2 3 4 5 6 7 8 |
{ "User" : "MEGA_USERNAME", "Password" : "MEGA_PASSWORD", "DownloadWorkers" : 4, "UploadWorkers" : 4, "SkipSameSize" : true, "Verbose" : 1 } |
Y con esto se termina la configuración… no tiene mucha más historia… tan solo puntualizaremos que al estar los datos almacenados en el directorio home del usuario cada uno de ellos puede tener un acceso a sus cuentas de Mega respectivamente… así que es algo muy útil.
Vale, ahora que todo está configurado y listo vamos a probar como funciona!
Primero vamos a probar listando el directorio raíz de la siguiente forma…
1 |
megacmd list mega:/ |
Dependiendo de los archivos que tengamos nos devolverá algo parecido…
1 2 3 4 5 |
mega:/GPS/ 0 2013-05-13T16:08:33+02:00 mega:/BAD ATTRIBUTE/ 0 2013-05-13T16:50:22+02:00 mega:/Ate21.zip 1510416891 2013-07-16T19:24:45+02:00 mega:/Noguera/ 0 2013-08-18T19:06:33+02:00 mega:/Fotografía/ 0 2013-09-23T13:54:55+02:00 |
Como podemos ver, nos está listando los directorios que tenemos en la raíz!
Ahora vamos a por otra cosa esencial… la subida de ficheros, para ello realizamos lo siguiente…
1 2 |
root@x303:/home# megacmd put pruebaMega.txt mega:/ Copying pruebaMega.txt -> mega:/ # 100.00 % of 12B at 12B/s 0 |
Ahora comprobamos…
1 2 |
root@x303:/home# megacmd list mega:/ mega:/pruebaMega.txt 12 2013-09-23T19:33:03+02:00 |
Como podemos ver tenemos el archivo subido y a buen recaudo =)
Para subir ficheros de forma recursiva (más de uno a la vez) utilizaremos el siguiente parámetro…
1 |
megacmd sync directorioLocal/ mega:/DirectorioDestino/ |
Como podemos ver lo que estamos haciendo es sincronizar el directorio local con el destino…
Podemos hacer muchas más cosas… como sincronizar los directorios… o mover, eliminar archivos… crear directorios… todo esto lo podemos averiguar leyendo el «help» que viene interno…
1 |
megacmd |
Que nos devolverá…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
root@x303:/home# megacmd Usage megacmd: megacmd [OPTIONS] list mega:/foo/bar megacmd [OPTIONS] get mega:/foo/file.txt /tmp/ megacmd [OPTIONS] put /tmp/hello.txt mega:/bar/ megacmd [OPTIONS] delete mega:/foo/bar megacmd [OPTIONS] mkdir mega:/foo/bar megacmd [OPTIONS] move mega:/foo/file.txt mega:/bar/foo.txt megacmd [OPTIONS] sync mega:/foo/ /tmp/foo/ megacmd [OPTIONS] sync /tmp/foo mega:/foo -conf="/root/.megacmd.json": Config file path -force=false: Force hard delete or overwrite -help=false: Help -recursive=false: Recursive listing -skip-same-size=false: Skip copying of files with same size and path suffix -verbose=1: Verbose -version=false: Version |
Así que tan solo tenemos que fijarnos bien y descubrir que entraña esta aplicación…
En esta ocasión he mirado la documentación del propio autor…
Para cualquier consulta tan solo dejad un comentario!