Я запускаю сервер Minecraft на VPS где-то в Канаде. Я использую rsync для синхронизации файлов сервера с VPS на мой ПК. Это работает отлично и приятно. Однако я хочу сделать архивы tar.gz файлов сервера на моем ПК.
Я хочу сделать полную резервную копию tar.gz файлов сервера Minecraft, которые сейчас есть на моем ПК. Назовем эту резервную копию full.tar.gz. Затем через месяц я использую rsync для синхронизации файлов сервера Minecraft с VPS на мой ПК. Затем я хочу сделать резервную копию файлов сервера Minecraft в архиве tar.gz, но только с измененными файлами с момента последнего полного резервного копирования. Назовем эту резервную копию incremental-01.tar.gz. Еще через месяц я хочу сделать то же самое и создать резервную копию с именем incremental-02.tar.gz, которая будет содержать только изменения с момента резервного копирования full.tar.gz и incremental-01.tar.gz и так далее и тому подобное. Я могу сделать все это без проблем с помощью tar.
Но вот в чем загвоздка. Среди файлов сервера есть несколько довольно больших файлов 6 ГБ-15 ГБ. Эти большие файлы — файлы базы данных sqlite. Изменяется только часть этих огромных файлов. Я не хочу включать все файлы базы данных sqlite размером 6 ГБ-15 ГБ каждый раз, когда я делаю инкрементное резервное копирование tar.
Я ищу решение, которое может выполнять вышеупомянутые операции по инкрементальному резервному копированию, а для больших файлов оно будет создавать резервные копии только тех изменений, которые произошли внутри больших файлов с момента последнего резервного копирования.
Было бы еще лучше иметь решение для резервного копирования, которое делало бы инкрементные резервные копии на двоичном уровне, а не просто резервные копии целых файлов, если их метаданные, crc32, хэш или что-то еще изменилось с момента последнего резервного копирования.