私は UNIX サーバー上で多数のデータベースを管理しており、.NET を使用してこれらのデータベースのバックアップを毎日行っていますmysqldump
。これらのデータベース (の一部) は非常に大きい (20+Gb) ため、通常は を使用してバックアップ .sql ファイルをbzip2
圧縮し、圧縮された bz2 ファイルを取得します。
バックアップ プロセスの一環として、新しいバックアップ ファイルのサイズが以前のバックアップ ファイルのサイズ以上であることを確認します。これらのデータベースには毎日データを追加していますが、これらのデータベースからデータを削除することはほとんどありません。データベース。
バックアップ ファイルのサイズのチェックは、バックアップの品質のチェックです。データベースは主にサイズが大きくなるだけなので、新しいバックアップが古いバックアップよりも小さい場合は、次のいずれかを意味します。a) データベースから何かが削除された(その場合、何を確認する必要があります...) または b) バックアップで問題が発生しました (この場合、理由を確認する必要があります...)。
ただし、bz2 ファイルのサイズを比較すると、たとえば の比較 (を使用test
) を使用するとstat %s
、データベースのサイズが大きくなったにもかかわらず、bz2 ファイルが縮小している可能性があります。おそらく、より効率的な圧縮が原因です。
では、バックアップ ファイルのサイズを比較するにはどうすればよいでしょうか。
- 1 つのオプションは、以前のバックアップ ファイルを .bz2 から .sql に解凍し、これらの .sql ファイルのサイズを比較することです。ただし、これらは非常に大きなファイル (20+Gb) であるため、圧縮/解凍には時間がかかる場合があります...
- もう 1 つのオプションは、以前のバックアップ ファイルを .sql として保持し、再度 .sql ファイルの比較を行うことです。これは私の好みのオプションですが、大量の .sql ファイルが横たわって終わらないように注意する必要があります。
または、SO コミュニティの誰かが、より優れた、またはより優れたアイデアを持っている可能性があります...?