Estou executando um servidor Minecraft em um VPS em algum lugar do Canadá. Estou usando o rsync para sincronizar os arquivos do servidor do VPS para o meu PC. Isso funciona bem e bem. No entanto, quero criar arquivos tar.gz dos arquivos do servidor no meu PC.
O que desejo fazer é fazer um backup tar.gz completo dos arquivos do servidor Minecraft que tenho atualmente no meu PC. Vamos nomear esse backup como full.tar.gz. Então, um mês depois, uso o rsync para sincronizar os arquivos do servidor Minecraft do VPS para o meu PC. Então desejo fazer um backup dos arquivos do servidor minecraft em um arquivo tar.gz, mas apenas com os arquivos alterados desde o último backup completo. Vamos nomear esse backup como incremental-01.tar.gz. Outro mês depois, desejo fazer o mesmo e fazer um backup chamado incremental-02.tar.gz, que só tem alterações desde os backups full.tar.gz e incremental-01.tar.gz e assim por diante. Posso fazer tudo isso sem problemas usando tar.
Aqui está a pegadinha. Existem alguns arquivos bastante grandes entre os arquivos do servidor de 6 GB a 15 GB. Esses arquivos grandes são arquivos de banco de dados sqlite. Apenas uma parte desses arquivos enormes é alterada. Não desejo incluir todos os arquivos de banco de dados sqlite de 6 GB a 15 GB toda vez que faço um backup tar incremental.
Estou procurando uma solução que possa fazer as operações de backup incrementais mencionadas anteriormente e, para arquivos grandes, faça backup apenas das alterações que ocorreram dentro dos arquivos grandes desde os últimos backups.
Seria ainda melhor ter uma solução de backup que fizesse backups incrementais em nível binário e não apenas fizesse backup de arquivos inteiros se seus metadados ou crc32 ou hash ou o que quer que fosse diferente desde o último backup