Como posso fazer um backup incremental eficiente para a nuvem?

2

Eu tenho uma pasta que contém arquivos de projetos atuais e anteriores que eu planejo fazer backup usando o rsync com versão. Para uma estratégia de backup mais robusta, quero armazenar um snapshot externo mensal (por exemplo, geleira amazônica) em intervalos regulares.

Para economizar espaço e largura de banda, quero compactar o backup antes de enviá-lo para fora do local. No entanto, como apenas uma pequena fração do número total de arquivos muda de mês para mês, o envio de toda a biblioteca compactada a cada backup também será um enorme desperdício de largura de banda.

Idealmente, o que eu quero fazer é compactar o backup em volumes de 500MB (ou algum outro tamanho) e enviá-los para o meu armazenamento externo. Na próxima vez que eu fizer backup, a maioria desses volumes deve ser idêntica ao backup anterior, exceto aqueles que contêm arquivos que foram alterados desde o último backup. Nesse cenário, só preciso fazer o upload dos volumes alterados, economizando largura de banda (e solicitações de gravação de arquivos).

É possível fazer o que eu descrevo usando uma combinação de tar e gzip (split talvez?). Ou outras ferramentas de linha de comando?

Um problema que posso imaginar é que, se ocorrer uma alteração em um arquivo contido em algum volume, o conteúdo de todos os volumes subseqüentes poderá ser compensado, exigindo um novo upload do volume alterado e dos volumes subsequentes. Talvez seja melhor segmentar os volumes por pastas de alguma forma?

Eu adoraria ouvir qualquer entrada ou sugestão que você tenha Cumprimentos M

    
por Mesalas 26.04.2018 / 16:47

1 resposta

1

tar pode fazer isso com o sinal --listed-incremental , assim como descrito eu provavelmente faria isso. Você pode usar qualquer compressor que o tar suporta para compactá-lo (ou apenas canalizá-lo através de um compressor arbitrário). Consulte o link

Não tenho certeza de que tipo de projetos são, mas se for um código ou algum outro formato baseado em texto, provavelmente procurarei usar git ou algum outro sistema de controle de origem.

Eu também devo salientar que este é o tar GNU. Se você está em um BSD ou outro Unix, você pode precisar instalar o gnutar porque eu não acho que o bsdtar suporta isso.

    
por 26.04.2018 / 16:59