MEGAcmd é uma ferramenta de linha de comando para trabalhar com contas e arquivos no MEGA
Ao contrário do que estamos acostumados, MEGAcmd não possui interface gráfica. A intenção aqui é ter funcionalidade por meio de comandos. Essas funcionalidades são: backup e sincronização.
Podemos usar de dois modos
- Interativo: onde usamos o shell para executarmos os comados
- Por Script: colocamos todos os comandos dentro de um arquivo; então, basta executar esse arquivo ou programar horários e dias específicos no agendador de tarefas, que no nosso caso é o cron.
Temos também
- MEGAcmdServer:
- MEGAcmdShell: um shell(interpretador de comados) onde executamos os comandos específicos.
- MEGAcmdClient: comandos que irá iniciar os scripts ou aquilo que não é interativo.
Instalando o MEGAcmd
Pré-Requisitos
Segue lista de pacotes(dependências) que são necessários.
- Ubuntu 16.04
autoconf libtool g++ libcrypto++-dev libz-dev libsqlite3-dev libssl-dev libcurl4-openssl-dev libreadline-dev libpcre++-dev libsodium-dev libc-ares-dev libfreeimage-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libmediainfo-dev libzen-dev
- Ubuntu 18.04
autoconf libtool g++ libcrypto++-dev libz-dev libsqlite3-dev libssl-dev libcurl4-gnutls-dev libreadline-dev libpcre++-dev libsodium-dev libc-ares-dev libfreeimage-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libmediainfo-dev libzen-dev libuv1-dev
- Debian 9
libcrypto++ libpcrecpp0v5 libc-ares-dev zlib1g-dev libuv1 libssl-dev libsodium-dev readline-common sqlite3 curl autoconf libtool g++ libcrypto++-dev libz-dev libsqlite3-dev libssl-dev libcurl4-gnutls-dev libreadline-dev libpcre++-dev libsodium-dev libc-ares-dev libfreeimage-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libmediainfo-dev libzen-dev
Em alguns casos talvez seja necessário executar: apt install --reinstall build-essential
Como instalar as dependências acima?
Se tiver problema na instalação abaixo, siga nosso post sobre como corrigir, Clique Aqui.
Bom, basta abrir o terminal e executar “sudo apt install listaDasDependencias -y”, como estou usando ubuntu, no meu caso fica assim:
elder@ubuntu:~$ sudo apt install autoconf libtool g++ libcrypto++-dev libz-dev libsqlite3-dev libssl-dev libcurl4-gnutls-dev libreadline-dev libpcre++-dev libsodium-dev libc-ares-dev libfreeimage-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libmediainfo-dev libzen-dev libuv1-dev -y
Acesse o site mega.nz/cmd e baixe o pacote de acordo com sua distro.
Acesse a pasta Downloads
elder@ubuntu:~$ cd ~/Downloads/
Instale o arquivo baixado
elder@ubuntu:~/Downloads$ sudo dpkg -i megacmd-xUbuntu_20.04_amd64.deb
Comandos MEGAcmd
Esses são os comandos disponíveis
mega-attr mega-exec mega-lpwd mega-share mega-backup mega-export mega-ls mega-showpcr mega-cancel mega-find mega-mediainfo mega-signup mega-cat mega-ftp mega-mkdir mega-speedlimit mega-cd mega-get mega-mount mega-sync mega-cmd mega-graphics mega-mv mega-thumbnail mega-cmd-server mega-help mega-passwd mega-transfers mega-confirm mega-https mega-permissions mega-tree mega-confirmcancel mega-import mega-preview mega-userattr mega-cp mega-invite mega-proxy mega-users mega-debug mega-ipc mega-put mega-version mega-deleteversions mega-killsession mega-pwd mega-webdav mega-df mega-lcd mega-quit mega-whoami mega-du mega-log mega-reload mega-errorcode mega-login mega-rm mega-exclude mega-logout mega-session
Praticando MEGAcmd
- Acesse sua conta com o comando mega-login. Na frente do comando digite seu email e senha
elder@ubuntu:~/Downloads$ mega-login elder@live.com minhasenha
Em seguida digite o comando abaixo para que sua senha não fique no histórico do shell
elder@ubuntu:~/Downloads$ history -c
- Vendo a conta que está logada no momento
elder@ubuntu:~/Downloads$ mega-whoami Account e-mail: elder@live.com
- Criando as pastas imagensElder, DocumentosElder, ArquivosTemporarios
elder@ubuntu:~/Documentos$ mega-mkdir ImagensElder elder@ubuntu:~/Documentos$ mega-mkdir DocumentosElder elder@ubuntu:~/Documentos$ mega-mkdir ArquivosTemporarios
- Verificando a estrutura de arquivos
elder@ubuntu:~/Documentos$ mega-tree . ├── ArquivosTemporarios ├── DocumentosElder ├── ImagensElder └── Bem-vindo ao MEGA.pdf
- Excluindo o Arquivo “Bem-vindo ao MEGA.pdf”.
elder@ubuntu:~/Documentos$ mega-rm "Bem-vindo ao MEGA.pdf"
Não esqueça de envolver o nome do arquivo em aspas duplas. Isso porque há espaços entre uma palavra e outro no nome do arquivo.
- Vendo informações sobre armazenamento
elder@ubuntu:~/Documentos$ mega-df Cloud drive: 0 in 0 file(s) and 3 folder(s) Inbox: 0 in 0 file(s) and 0 folder(s) Rubbish bin: 0 in 0 file(s) and 0 folder(s) --------------------------------------------------------------------------- USED STORAGE: 0 0.00% of 53687091200 --------------------------------------------------------------------------- Total size taken up by file versions: 0
- Vendo informações sobre armazenamento de uma forma mais legível.
elder@ubuntu:~/Documentos$ mega-df -h Cloud drive: 0.00 B in 0 file(s) and 3 folder(s) Inbox: 0.00 B in 0 file(s) and 0 folder(s) Rubbish bin: 0.00 B in 0 file(s) and 0 folder(s) --------------------------------------------------------------------------- USED STORAGE: 0.00 B 0.00% of 50.00 GB --------------------------------------------------------------------------- Total size taken up by file versions: 0.00 B
- Acessado no navegador, olha como está nossa conta no MEGA
- Enviando(upload) um arquivo para pasta DocumentosElder e compartilhando ele por 50 minutos .Enviando o arquivo acampando_com_os_animais.pdf
-
elder@ubuntu:~$ mega-put ~/Documentos/acampando_com_os_animais.pdf DocumentosElder TRANSFERRING ||#################################################################||(630/630 KB: 100.00 %) Upload finished: /DocumentosElder/acampando_com_os_animais.pdf TRANSFERRING ||#################################################################||(630/630 KB: 100.00 %)
Compartilhando
elder@ubuntu:~$ mega-export -a DocumentosElder/acampando_com_os_animais.pdf Exported /DocumentosElder/acampando_com_os_animais.pdf: https://mega.nz/file/eltUzIFU
Você agora pode passar o link gerado para a pessoa que deseja receber o arquivo compartilhado: https://mega.nz/file/eltUzIFU
- Excluindo o compartilhamento do arquivo
elder@ubuntu:~$ mega-export -d DocumentosElder/acampando_com_os_animais.pdf Disabled export: /DocumentosElder/acampando_com_os_animais.pdf
- Compartilhando uma pasta com outro usuário.
elder@ubuntu:~$ mega-share -a DocumentosElder --with=elderrodrigues@outlook.com Shared /DocumentosElder : rodrigues@outlook.com accessLevel=0
o nível de acesso que rodrigues@outlook.com terá com a pasta será apenas de leitura(accessLevel=0)
Seguem os níveis
0: apenas leitura
1: leitura e escrita
2: Acesso total
3: Será o proprietário da pastamega-share é apenas para pastas.
- Parando o compartilhamento da pasta
elder@ubuntu:~$ mega-share -d DocumentosElder Stopped sharing /DocumentosElder with rodrigues@outlook.com
- Compartilhando o arquivo por 20 minutos
- Vendo detalhes sobre o conteúdo da pasta /DocumentosElder
elder@ubuntu:~$ mega-ls -l DocumentosElder FLAGS VERS SIZE DATE NAME ---- 1 646107 04Aug2020 17:07:24 acampando_com_os_animais.pdf
- Vendo detalhes da minha conta
elder@ubuntu:~$ mega-whoami -l Account e-mail: elder@live.com Available storage: 0.00 Bytes In ROOT: 0.00 Bytes in 0 file(s) and 0 folder(s) In INBOX: 0.00 Bytes in 0 file(s) and 0 folder(s) In RUBBISH: 0.00 Bytes in 0 file(s) and 0 folder(s) Total size taken up by file versions: 0.00 Bytes Pro level: 0 Subscription type: Account balance: Current Active Sessions: * Current Session Session ID: PgBkkkkkriPU Session start: Tue Aug 4 16:35:28 2020 Most recent activity: Tue Aug 4 16:35:29 2020 IP: 179.184.159.85 Country: BR User-Agent: MEGAcmd/1.3.0.4 (ubuntu 18.04/Linux 4.15.0-47-generic x86_64) MegaClient/3.7.0/64 ----- Session ID: PskkkkdfLkko Session start: Tue Aug 4 16:24:50 2020 Most recent activity: Tue Aug 4 16:26:36 2020 IP: 179.184.159.85 Country: BR User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36 ----- 2 active sessions opened
Aqui foi apenas uma introdução. Outro artigo sairá logo já já com mais exemplos e detalhes de como usar essa ferramente, principalmente com scripts.
Conclusão
Trabalhar com linha de comandos no MEGA é bastante útil. Podemos enviar nosso backup diário usando scripts de modo que tudo seja executado automaticamente, sem intervenção do usuário. Outra alternativa é usarmos o método interativo para baixarmos arquivos ou enviá-los.
Fontes: mega.nz, github, github login , github manual usuário
Cara, gostei muito do seu tutorial. Me ajudou.
Instalei no arch, deu um pouco de trabalho, mas deu certo.
o que eu precisava era habilitar um diretório do linux, por exemplo /mnt/backup para funcionar diretamente em sincronização com o mega.
Dessa forma, sempre que o script de backup rodar, copiando os arquivos para o diretório /mnt/backup, os arquivos já subiam automaticamente para o mega.nz. O que acha?
bom trabalho.
Oi Rafael, tudo bem?
Já era nossa intenção de criar um post para backup usando o mega. Fique atento, já está sendo preparado e será postado em breve.
Obrigado pelo retorno.