私はカナダのどこかの VPS で Minecraft サーバーを実行しています。rsync を使用して、VPS から自分の PC にサーバー ファイルを同期しています。これは問題なく動作します。ただし、自分の PC でサーバー ファイルの tar.gz アーカイブを作成したいと考えています。
私がやりたいのは、現在 PC にある Minecraft サーバー ファイルの完全な tar.gz バックアップを作成することです。そのバックアップに full.tar.gz という名前を付けます。そして 1 か月後、rsync を使用して VPS から PC に Minecraft サーバー ファイルを同期します。次に、tar.gz アーカイブで Minecraft サーバー ファイルのバックアップを作成しますが、最後の完全バックアップ以降に変更されたファイルのみを含めます。そのバックアップに incremental-01.tar.gz という名前を付けます。さらに 1 か月後、同じことを行い、full.tar.gz および incremental-01.tar.gz バックアップ以降に変更されたファイルのみを含む incremental-02.tar.gz という名前のバックアップを作成します。以下同様に続けます。tar を使用すると、これらすべてを問題なく実行できます。
しかし、ここに問題があります。サーバー ファイルの中には、6GB ~ 15GB のかなり大きなファイルがいくつかあります。これらの大きなファイルは、sqlite データベース ファイルです。これらの巨大なファイルの一部だけが変わります。増分 tar バックアップを作成するたびに、6GB ~ 15GB の sqlite データベース ファイル全体を含めることは望ましくありません。
私は、前述の増分バックアップ操作を実行でき、大きなファイルの場合は、最後のバックアップ以降に大きなファイル内で発生した変更のみをバックアップするソリューションを探しています。
メタデータやCRC32、ハッシュなどが前回のバックアップから変更されている場合、ファイル全体をバックアップするのではなく、バイナリレベルで増分バックアップを作成するバックアップソリューションがあればさらに良いでしょう。