Procurando uma maneira de compactar, criptografar, dividir e fazer upload de dados no Linux para backups em várias nuvens

1

Como diz o título, estou procurando uma maneira no Ubuntu / Linux para compactar, criptografar, dividir e fazer upload de dados para backups em várias nuvens.

Eu peguei várias contas de nuvem gratuitas, de 2 GB a 50 GB, e gostaria de fazer backup dos dados criptografados nessas nuvens. Algumas dessas contas incluem Dropbox, box.net, Microsoft Skydrive, Google Drive e outras. Todos os meus sistemas estão executando o Ubuntu 13.04 Raring.

    
por Raansu 02.07.2013 / 10:41

2 respostas

4

A mentalidade * nix é usar muitos programas pequenos para executar cada uma das etapas necessárias e agrupá-las usando pipes. Então, ao invés de tentar encontrar uma ferramenta que faça tudo que você precisa, você deve dar uma olhada nos vários utilitários que podem executar cada uma das etapas necessárias. Então, hora de ler em:

  1. split , parte dos principais utilitários GNU, ótima ferramenta para dividir arquivos grandes em partes.
  2. tar é usado para criar arquivos, para combinar muitos arquivos pequenos em um grande arquivo. Também pode usar vários programas de compactação para criar um arquivo compactado. Por exemplo, para criar um arquivo compactado ( gzip ped) de todos os arquivos no diretório atual, seria executado:

    tar czf archive.tgz *
    
  3. GnuPG , o Gnu Privacy Guard é uma ferramenta simples de usar que (entre outras coisas) permite criptografar / descriptografar arquivos.

  4. O que você usa para fazer o upload dependerá do serviço em questão. Muitos (como o Dropbox) terão suas próprias ferramentas. Outros podem oferecer ftp ou ssh access. Se você tiver ssh access, deverá dar uma olhada em rsync , que ativa a compactação em tempo real e cópia incremental. Caso contrário, confira scp .

Como eu disse, os detalhes dependerão do serviço em questão, mas aqui está um exemplo de fluxo de trabalho:

tar czf archive.tgz *           ## compress and create single archive
gpg -c archive.tgz              ## encrypt
split -dn 5 archive.tgz archive ## splits into archive00 - archive04
scp archive0{0,1,2} [email protected]:/path/to/   ## copy archive00, archive01  
                                                  ## and archive 02 to service 1
scp archive0{3,4} [email protected]:/remote/path  ## copy the rest to service 2
    
por 02.07.2013 / 15:49
1

Se você é um cara do Perl, faça isso com o Perl. Se eu precisasse, e provavelmente o farei, faria isso com o Bash. Escolhido o intérprete, você pode apenas combinar chamadas para split e rsync , iterar ou planejar atualizações com cron ...

    
por 02.07.2013 / 10:49