jueves, abril 30, 2015

Mantener sincronización con Mega.co.nz

Ahora que esta de moda la nube, la raspberry es un complemento ideal para hacer de "chacha digital", con su consumo eléctrico mínimo y poco coste, no duele mucho dejarla encendida todo el dia, y programarle que haga copias automaticas, descargas varias y ver videos (Lo bueno es que no tienes que limitarla a un solo uso, puede hacer varias cosas a la vez).

En su día comente como sincronizar carpetas con un ftp, en combinación con aruba.it, es un servidor web que por 27€ al año te da un ftp con espacio ilimitado, por lo que durante mucho años lo he usado como servidor de copia de seguridad. Con ayuda de este post que escribi hace años, y que sigue plenamente vigente

Pero si la crisis aprieta, o no necesitais espacio ilimitado podeis aprovechar los 50 gb que da mega.co.nz y sincronizar los datos con este servicio. Para ello debemos hacer lo siguiente:

Primero instalar todo lo relacionado con la compilacion de paquetes para compilar, que eso en una raspberry con OSMC como es mi caso, no viene nada instalado.


sudo apt-get update
sudo apt-get install golang-go build-essential make git

  1. Debemos descargar el fuente: https://github.com/t3rm1n4l/megacmd/archive/master.zip
  2. Descomprimimos el archivo megacmd-master.zip que fue lo que bajamos, se nos creará una carpeta llamada megacmd-master, vamos a abrir una terminal dentro de esa carpeta.
  3. Ahora pasamos a instalarlo, en la terminal escribimos lo siguiente:
    make
    sudo cp megacmd /usr/local/bin
  4. Listo, ya esta instalado.
Vemos a continuación como se configura.

nano $HOME/.megacmd.json
En el fichero, esto es lo que hay que ponerle
{
"User" : "USUARIO_MEGA",
"Password" : "PASSWORD_DE_USUARIO_MEGA",
"DownloadWorkers" : 4,
"UploadWorkers" : 4,
"SkipSameSize" : true,
"Verbose" : 1
}
Donde usuario, sera normalmente un correo electrónico,y password vuestra contraseña. Cuando ya hayamos puesto la información, presionamos guardamos ([Ctrl] + [O]) y salimos ([Ctrl] + [X])

Y ya esta completamente usable.

La lista de comandos:
megacmd list mega:/
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="/home/osmc/.megacmd.json": Config file path
  -force=false: Force hard delete or overwrite
  -help=false: Help
  -recursive=false: Recursive listing
  -skip-error=false: Skip syncing of files that can't be read
  -skip-same-size=false: Skip copying of files with same size and path suffix
  -verbose=1: Verbose
  -version=false: Version

Para sincronizar una carpeta local con una carpeta de mega deberemos usar:
megacmd [OPTIONS] sync /tmp/foo mega:/foo
Si esto lo unimos al crontab, tenemos una sincronización de nuestros datos en la nube. Fuente: http://blog.desdelinux.net/mega-desde-terminal-con-megacmd/

5 comentarios:

Anónimo dijo...

Hola.

Al hace "make" obtengo este error:

go get github.com/t3rm1n4l/go-mega
# github.com/t3rm1n4l/go-mega
.gopath/src/github.com/t3rm1n4l/go-mega/utils.go:54: buf.Grow undefined (type *bytes.Buffer has no field or method Grow)
Makefile:14: recipe for target 'build' failed
make: *** [build] Error 2

¿Tienes idea de dónde puede estar el problema?
Muchas gracias.

Anónimo dijo...

Hola, yo tengo el mismo problema, agradecería cualquier ayuda.

Makefile:14: recipe for target 'build' failed
make: *** [build] Error 2

Saludos.

Draco dijo...

Buscando en google encuentro esto, no se si es que estais usando algo diferente a una raspberry (yo lo he probado tanto en la 1 como en la 2, y va fino).


https://github.com/t3rm1n4l/megacmd/issues/57

Suerte¡¡

Anónimo dijo...

Bueno después de mucho buscar he seguido los pasos de esta pagina y por fin he conseguido instalarlo, el problema esta en el golang-go, que la versión que se instala con apt-get no funciona.

http://www.hostingadvice.com/how-to/install-golang-on-ubuntu/

Espero que a alguien mas le sirva.

Un saludo y gracias.

Miguel De Paz dijo...

El error da porque no tienen el paquete para compilarlo. Instalen primero el compilador:

sudo apt-get update
sudo apt-get install golang-go build-essential make git