Creo que no necesito explicar qué es Mega o el difunto Megaupload (uff que tiempos aquellos…). Actualmente somos muchos los que usamos Mega como almacenamiento para backups de nuestro sistema, o bueno, información de cualquier tipo.
El asunto es que pienso usar una carpeta en mi cuenta Mega para almacenar backups de servidores, los cuales obviamente no tienen interfaz gráfica, por lo que… mmm … ¿cómo mediante un script bash, subir archivos a una carpeta específica de mi cuenta Mega?, esa es la pregunta aquí.

MegaCMD: Mega desde Terminal
Afortunadamente existe megacmd, una aplicación mediante la cual (y con comandos) podemos subir archivos hacia nuestra Mega, bajar, etc.
Procedamos a instalarlo:
1. Primero debemos descargar el fuente:
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
3.1. Claro, si usas ArchLinux es tan simple como:
yaourt -S megacmd
4. Listo, ya está instalado.
¿Y cómo se usa MegaCMD?
Primero debemos crear un archivo en el cual pondremos información de nuestra cuenta. O sea, la aplicación no puede conectarse a nuestra cuenta sin tener los datos de acceso (usuario y password), para ello crearemos el archivo: $HOME/.megacmd.json
nano $HOME/.megacmd.json
Ahí pondremos algo como esto:
{
"User" : "USUARIO_MEGA",
"Password" : "PASSWORD_DE_USUARIO_MEGA",
"DownloadWorkers" : 4,
"UploadWorkers" : 4,
"SkipSameSize" : true,
"Verbose" : 1
}
Tener en cuenta que el usuario es el email de registro, o sea en mi caso sería:
{
"User" : "[email protected]",
"Password" : "BLABLABLABLABLABLA",
"DownloadWorkers" : 4,
"UploadWorkers" : 4,
"SkipSameSize" : true,
"Verbose" : 1
}
Cuando ya hayamos puesto la información, presionamos guardamos ([Ctrl] + [O]) y salimos ([Ctrl] + [X])
Listo ahora veremos el contenido de nuestra carpeta inicial:
megacmd list mega:/
Eso a mí me indica que existe una carpeta llamada MEGAsync, que es la que muestro en la primera imagen.
Si deseo ver qué hay dentro de una carpeta, la variación de la línea anterior es simple, casi que evidente, como la carpeta es MEGAsync :
megacmd list mega:/MEGAsync/
Para descargar un archivo en vez el parámetro list que usamos antes, ahora usaremos get:
megacmd get mega:/MEGAsync/instantánea1.png /home/miusuario/
Eso descargará el archivo instantáneo1.png, ubicado dentro de la carpeta MEGAsync hacia mi Home.

En caso contrario, y que se desee subir un archivo entonces en vez de get usamos put:
megacmd put archivo.zip mega:/MEGAsync/
Para borrar un archivo sería con delete:
megacmd delete mega:/MEGAsync/instantánea1.png
Pero aquí no termina la cosa … si desean crear un nuevo directorio, entonces:
megacmd mkdir mega:/Backups
¿pero hay más?
Sí
Aún se puede hacer más, como sincronizar carpetas como mismo hacemos con rsync, para eso se usa el parámetro sync, también podemos con move mover archivos de una carpeta a otra, aquí les dejo las opciones que nos brinda la aplicación:
Fin!
Le acabo de comentar a elav que está muy buena esta aplicación, a lo cual él me responde: “teniendo el cliente desktop para qué usarla“, cierto, cuando se tiene MegaSync entonces MegaCMD pierde un poco de sentido, pero, ¿y si estamos en un ordenador sin entorno gráfico?.
Pienso usar MegaCMD para backups de un servidor, el cual como ya dije al inicio, no tiene GUI.
También se podría usar para mediante un script hacer infinidad de cosas, todo queda en qué necesite el usuario y su imaginación.

Continúar leyendo...
El asunto es que pienso usar una carpeta en mi cuenta Mega para almacenar backups de servidores, los cuales obviamente no tienen interfaz gráfica, por lo que… mmm … ¿cómo mediante un script bash, subir archivos a una carpeta específica de mi cuenta Mega?, esa es la pregunta aquí.

MegaCMD: Mega desde Terminal
Afortunadamente existe megacmd, una aplicación mediante la cual (y con comandos) podemos subir archivos hacia nuestra Mega, bajar, etc.
Procedamos a instalarlo:
1. Primero debemos descargar el fuente:
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
3.1. Claro, si usas ArchLinux es tan simple como:
yaourt -S megacmd
4. Listo, ya está instalado.
¿Y cómo se usa MegaCMD?
Primero debemos crear un archivo en el cual pondremos información de nuestra cuenta. O sea, la aplicación no puede conectarse a nuestra cuenta sin tener los datos de acceso (usuario y password), para ello crearemos el archivo: $HOME/.megacmd.json
nano $HOME/.megacmd.json
Ahí pondremos algo como esto:
{
"User" : "USUARIO_MEGA",
"Password" : "PASSWORD_DE_USUARIO_MEGA",
"DownloadWorkers" : 4,
"UploadWorkers" : 4,
"SkipSameSize" : true,
"Verbose" : 1
}
Tener en cuenta que el usuario es el email de registro, o sea en mi caso sería:
{
"User" : "[email protected]",
"Password" : "BLABLABLABLABLABLA",
"DownloadWorkers" : 4,
"UploadWorkers" : 4,
"SkipSameSize" : true,
"Verbose" : 1
}
Cuando ya hayamos puesto la información, presionamos guardamos ([Ctrl] + [O]) y salimos ([Ctrl] + [X])
Listo ahora veremos el contenido de nuestra carpeta inicial:
megacmd list mega:/
Eso a mí me indica que existe una carpeta llamada MEGAsync, que es la que muestro en la primera imagen.
Si deseo ver qué hay dentro de una carpeta, la variación de la línea anterior es simple, casi que evidente, como la carpeta es MEGAsync :
megacmd list mega:/MEGAsync/
Para descargar un archivo en vez el parámetro list que usamos antes, ahora usaremos get:
megacmd get mega:/MEGAsync/instantánea1.png /home/miusuario/
Eso descargará el archivo instantáneo1.png, ubicado dentro de la carpeta MEGAsync hacia mi Home.

En caso contrario, y que se desee subir un archivo entonces en vez de get usamos put:
megacmd put archivo.zip mega:/MEGAsync/
Para borrar un archivo sería con delete:
megacmd delete mega:/MEGAsync/instantánea1.png
Pero aquí no termina la cosa … si desean crear un nuevo directorio, entonces:
megacmd mkdir mega:/Backups
¿pero hay más?
Sí

Aún se puede hacer más, como sincronizar carpetas como mismo hacemos con rsync, para eso se usa el parámetro sync, también podemos con move mover archivos de una carpeta a otra, aquí les dejo las opciones que nos brinda la aplicación:

Le acabo de comentar a elav que está muy buena esta aplicación, a lo cual él me responde: “teniendo el cliente desktop para qué usarla“, cierto, cuando se tiene MegaSync entonces MegaCMD pierde un poco de sentido, pero, ¿y si estamos en un ordenador sin entorno gráfico?.
Pienso usar MegaCMD para backups de un servidor, el cual como ya dije al inicio, no tiene GUI.
También se podría usar para mediante un script hacer infinidad de cosas, todo queda en qué necesite el usuario y su imaginación.
Continúar leyendo...