シナリオは次のとおりです。クライアントが Sybase ダンプ ファイルをローカル FTP サーバーに (gzip で圧縮して) アップロードします。これらをピックアップして、データベースサーバーが存在するネットワーク内の別のサーバーに移動する自動化されたプロセスがあります。残念ながら、この転送は WAN 経由であり、大きなファイルの場合は時間がかかります。また、クライアントがバイナリ モードで FTP を使用することを忘れている場合があり、その結果、ダンプ ファイルをロードできないため、WAN 経由で 10 GB の転送が無駄になります。もう一方の端に。私がやりたいことは、WAN 経由で送信する前に、ローカル サーバー上のダンプ ファイルの整合性を確認することですが、Sybase がないため、ダンプ ファイルを単に "ロード" することはできません。インストールされています(インストールできません)。これを行うために使用できるツールやコードはありますか?
2 に答える
コマンドラインからできることはいくつかあります。1 つ目は、送信側で、ファイルの md5sum を生成することです。
$ md5sum *.dmp
2bddf3cd8b04010183dd3295ce7594ff pubs_1.dmp
7510e0250c8d68bae3e0e794c211e60b pubs_2.dmp
091fe54fa5fd81d8c109cc7835d37f4a pubs_3.dmp
クライアント側では、同じように実行できます。次に、通常、Sybase のダンプは圧縮オプションを使用して実行されます。このオプションを使用すると、コマンド ラインからファイルを解凍して、ファイルの整合性をテストすることもできます。これは完全ではありませんが、圧縮アルゴリズムの一部である 8 バイトの CRC-32 チェックサムを検証します。
$ gunzip --test *.dmp
gunzip: pubs_3.dmp: unexpected end of file
これらの方法はいずれも、Sybase がファイルをロードできることを検証しませんが、ファイルが破損していないことを確認するのに役立ちます。
バックアップ サーバーによって何らかの方法でダンプ ファイルをロードせずに、ダンプ ファイルの整合性を実際に検証する方法はありません。クライアントは、ダンプ中にバックアップ ログまたは出力を介して、ダンプが成功したかどうかを知る必要があります。
ただし、問題を解決するには、SFTP または SCP を使用する必要があります。すべての転送はバイナリで行われ、問題が軽減されます。
ダンプで圧縮も使用していることを確認してください。値は 1 ~ 3 で十分です。これにより、ネットワーク トラフィックも削減されるはずです。