Existe uma alternativa rsync que armazena compactada e criptografada?

Existe uma alternativa rsync que armazena compactada e criptografada?

Estou procurando uma solução adequada de backup/sincronização de arquivos fora do local. Tanto o cliente local quanto o servidor remoto executam Linux. O espaço de armazenamento no servidor é limitado, a largura de banda entre cliente e servidor é muito limitada.

Dei uma olhada em duplicidade, Back In Time, Déjà Dup, luckyBackup, rsnapshot, rdiff-backup, rsynccrypto. Nenhum deles parece fazer o que eu quero, pelo menos se os entendi corretamente. Eles armazenam várias versões ou fazem uma retransmissão completa a cada vez, ou não têm criptografia ou não têm compactação. Tentei uma combinação rsync/fusecompress/encfs, mas o fusecompress continua destruindo meus arquivos. Pesquisei superusuário e askubuntu, encontrei apenas uma pergunta semelhante aqui (Como fazer backup criptografado do tipo rsync?), mas não se fala em compactação nem em solução adequada.

Requisitos:

  • espelhamento simples, apenas uma cópia dos arquivos (espaço de armazenamento limitado)
  • atualize apenas os arquivos que foram alterados desde a última sincronização (largura de banda limitada)
  • armazenar arquivos compactados e criptografados
  • a criptografia deve acontecer no cliente antes da transmissão

Basicamente, o que eu quero é algo que se comporte como rsync, mas armazene os arquivos espelhados compactados e criptografados. Existe algo assim?

Responder1

Se o servidor estiver executando ssh:

  1. montar site remoto localmente com

    sshfs -o nonempty,sshfs_sync,compression=yes username@host:/path/archives/ /mounted/encrypted/
    
  2. Crie o sistema criptografado e monte-o (na primeira vez que você tentar montar o diretório, o encfs criará o sistema de arquivos criptografado. Funciona como a montagem normal):

    encfs /mounted/encrypted /mounted/unencrypted 
    
  3. use rsync para/montado/desencriptado

  4. desmontar criptografia

    fusermount -u /mounted/unencrypted
    
  5. eventualmente desmontar recurso remoto

    umount /mounted/encrypted
    

Responder2

@Alfred Rupp,

Você verificou "Areca Backup"?

Acho que preenche a conta de tudo o que você está pedindo/precisando.

http://areca-backup.org/

EDITAR em 14 de junho de 2023

Post antigo, mas agora existe uma solução perfeita que atende a todos os requisitos das questões do OP.

O programa é Restic.https://restic.net/

Responder3

Acho que o que você está pedindo é uma impossibilidade lógica, a menos que você armazene um instantâneo anterior do material no cliente, para que as diferenças possam ser construídas lá sem referência ao servidor.

O problema é que se o material for armazenado criptografado no servidor, mas a chave de criptografia for mantida apenas no cliente, então você terá que transferir o conteúdo do servidor para o cliente para produzir a comparação, a menos que o cliente mantenha uma cópia disponível para este propósito. O esquema na resposta do @jet sofrerá com esse problema e a largura de banda não será auxiliada pelo algoritmo rsync nesse caso.

Você não diz que o espaço de arquivo é restrito no cliente, então talvez você possa simplesmente executar a duplicidade em uma área de arquivo local e sincronizar novamente os arquivos resultantes?

Você também pode querer ler sobre os problemas criptográficos com encfs.

informação relacionada