Estoy ejecutando un servidor de Minecraft en un VPS en algún lugar de Canadá. Estoy usando rsync para sincronizar los archivos del servidor desde el VPS a mi PC. Eso funciona bien y agradable. Sin embargo, quiero crear archivos tar.gz de los archivos del servidor en mi PC.
Lo que deseo hacer es hacer una copia de seguridad completa en tar.gz de los archivos del servidor de Minecraft que tengo actualmente en mi PC. Llamemos a esa copia de seguridad full.tar.gz. Luego, un mes después, uso rsync para sincronizar los archivos del servidor de Minecraft desde el VPS a mi PC. Luego deseo hacer una copia de seguridad de los archivos del servidor de Minecraft en un archivo tar.gz, pero sólo con los archivos modificados desde la última copia de seguridad completa. Llamemos a esa copia de seguridad incremental-01.tar.gz. Otro mes después, deseo hacer lo mismo y hacer una copia de seguridad llamada incremental-02.tar.gz que solo tiene cambios desde las copias de seguridad full.tar.gz e incremental-01.tar.gz, y así sucesivamente. Puedo hacer todo eso sin problemas usando tar.
Pero aquí está el truco. Hay algunos archivos bastante grandes entre los archivos del servidor de 6 GB a 15 GB. Estos archivos grandes son archivos de base de datos sqlite. Sólo una parte de estos enormes archivos cambia. No deseo incluir todos los archivos de base de datos sqlite de 6 GB a 15 GB cada vez que hago una copia de seguridad tar incremental.
Estoy buscando una solución que pueda realizar las operaciones de copia de seguridad incrementales antes mencionadas y, para archivos grandes, solo respaldaría los cambios que ocurrieron dentro de los archivos grandes desde las últimas copias de seguridad.
Sería incluso mejor tener una solución de respaldo que hiciera respaldos incrementales a nivel binario y no solo respaldara archivos completos si sus metadatos o crc32 o hash o lo que sea son diferentes desde el último respaldo.