Deve-se chamar isso de backup diferencial inverso e como se consegue isso?

4

Eu faço muitos backups. Eu faço isso em discos diferentes, que são armazenados em lugares diferentes. Eu estou procurando um tipo de backup, mas não consigo encontrar o seu nome (que eu preciso para descobrir se o rsync ou outra ferramenta Ubuntu pode me ajudar com isso).

Aqui está o que estou tentando alcançar.

  • Mantenha sempre uma cópia idêntica do estado atual da pasta base (em outras palavras, o backup e a pasta base são idênticos após cada backup)
  • Em cada backup, cada arquivo que é alterado ou excluído na pasta base é retirado do backup e armazenado em uma pasta que contém todos os arquivos alterados e excluídos no dia específico do backup.

Por exemplo,

Dia 1

/home/joey/1.txt
/home/joey/2.txt
/home/joey/3.txt

Backup regular antigo:

/media/backup/joey/1.txt
/media/backup/joey/2.txt
/media/backup/joey/3.txt

Dia 2

/home/joey/1.txt
/home/joey/3.txt
# D /home/joey/2.txt is deleted

Faça backup com uma cópia exata de joey, mas com uma nova pasta diff:

/media/backup/joey/1.txt
/media/backup/joey/3.txt
/media/backup/day2-diff/joey/2.txt

Dia 3

/home/joey/1.txt
/home/joey/3.txt # A /home/joey/3.txt was changed
/home/joey/4.txt

Faça backup novamente com uma cópia exata do joey e com uma pasta diff para um arquivo alterado:

/media/backup/joey/1.txt
/media/backup/joey/3.txt # the new version
/media/backup/joey/4.txt
/media/backup/day2-diff/joey/2.txt
/media/backup/day3-diff/joey/3.txt # the old version of the backup is copied here

A lógica é a seguinte: atualmente eu tenho tantos backups que preciso deletá-los em algum momento. Isso é azar, porque eu quero manter pelo menos os arquivos que eu deletei e que mudei. Esse tipo de backup permitiria que eu fizesse isso.

Então eu estava pensando em

  • uma execução a seco rsync TARGET - > FONTE para obter uma lista de arquivos alterados da perspectiva do TARGET
  • um script para copiar esses arquivos para pastas específicas com a hora e a data no nome da pasta
  • uma fonte regular de rsync - > ALVO

Eu sei que isso está alterando o backup, mas acho que, considerando o número de backups que tenho, isso não deve ser um problema.

Existe um nome para este tipo de backup (pergunta principal). Se possível, como alguém poderia alcançá-lo no Ubuntu?

Não tenho certeza se um arquivo que foi excluído deve fazer parte de cada diff depois. Isto é um pouco uma escolha entre um diff para cada backup ou um grande diff que é incremental. Mais uma vez, não tenho certeza sobre a terminologia.

    
por don.joey 21.11.2014 / 16:43

2 respostas

1

Parece-me que o que você está querendo alcançar é exatamente o modo como o BackupPC funciona. Veja o link

Você pode instalá-lo no Ubuntu usando

sudo apt-get install backuppc

Observe, entretanto, que a instalação padrão não faz nada por conta própria. Você terá que criar arquivos de configuração para cada máquina e / ou diretório que você deseja fazer backup.

A maneira como o BackupPC funciona é transferindo uma cópia dos arquivos no primeiro backup e, em backups subsequentes, cria links físicos para os arquivos inalterados e copia os alterados. SO para o seu sistema de arquivos, quando você navega para o diretório de backup do BackupPC, você tem um instantâneo da maneira como os arquivos pareciam em um determinado momento.

Consulte o link ou instale o backuppc em seu sistema e leia os documentos nele.

Veja como instalá-lo (o processo pode variar em versões mais recentes): Como configurar o Backuppc no Ubuntu 12.04?

Cuidado com problemas com diferentes sistemas de arquivos em diferentes sistemas (Windows / Linux / Macintosh). Além disso, as diferenças na maneira como o volume de backup é conectado entre o host e os clientes de backup (unidade de rede versus unidades locais, por exemplo) terão um efeito enorme no tempo necessário para concluir um backup.

    
por Tommy Trussell 26.11.2014 / 17:06
0

Eu apenas usaria o git. Você pode reverter as alterações necessárias e hospedar seu repositório "remoto" em um disco rígido, em outro computador ou em qualquer outra coisa que desejar. Você pode verificar o status das alterações e enviar para o seu repo conforme necessário, o que significa que um backup diário não é necessário. Dito isto, você pode querer os backups diários, caso em que você poderia escrever um script bash e executá-lo como um trabalho acron se 'git status' revelar mudanças que ocorreram.

    
por Adam 21.11.2014 / 19:03