MEGAcmd: Usando o Mega por meio de Linha de Comandos

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

  1. 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
  2. Vendo a conta que está logada no momento
    elder@ubuntu:~/Downloads$ mega-whoami
    Account e-mail: elder@live.com
    
  3. Criando as pastas imagensElder, DocumentosElder, ArquivosTemporarios
    elder@ubuntu:~/Documentos$ mega-mkdir ImagensElder
    elder@ubuntu:~/Documentos$ mega-mkdir DocumentosElder
    elder@ubuntu:~/Documentos$ mega-mkdir ArquivosTemporarios
  4. Verificando a estrutura de arquivos
    elder@ubuntu:~/Documentos$ mega-tree 
    .
    ├── ArquivosTemporarios
    ├── DocumentosElder
    ├── ImagensElder
    └── Bem-vindo ao MEGA.pdf
  5. 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.

  6. 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
    
  7. 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
    
  8. Acessado no navegador, olha como está nossa conta no MEGA

  9. Enviando(upload) um arquivo para pasta DocumentosElder e compartilhando ele por 50 minutos .Enviando o arquivo acampando_com_os_animais.pdf
  10. 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

  11. Excluindo o compartilhamento do arquivo
    elder@ubuntu:~$ mega-export -d DocumentosElder/acampando_com_os_animais.pdf
    Disabled export: /DocumentosElder/acampando_com_os_animais.pdf
  12. 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 pasta

    mega-share é apenas para pastas.

  13. Parando o compartilhamento da pasta
    elder@ubuntu:~$ mega-share -d DocumentosElder
    Stopped sharing /DocumentosElder with rodrigues@outlook.com
  14. Compartilhando o arquivo por 20 minutos
  15. 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
  16. 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

Leitor voraz e um dos administradores do GNU/Linux Brasil no Whatsapp, facebook, youtube e nesse dito site: www.gnulinuxbrasil.com.br

3 Comments to “MEGAcmd: Usando o Mega por meio de Linha de Comandos”

  1. 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.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *