3

rsync を使用してサーバー上のファイルをバックアップし、mysqldump を使用してデータベースをバックアップします。ここに私の懸念があります:

データベースの mysqldump には約 30 秒かかります。ファイルへのパスを含む、ユーザーがアップロードした画像に関する情報を格納する photos というテーブルがあります。mysqldump が完了するまでの 30 秒の間に写真のアップロードまたは削除が行われるとどうなるか心配です。それが起こった場合、rsync されたファイルと mysqldump データを復元する必要があった場合、削除された写真を指す行を含むデータベース、または正常にアップロードされた写真の行が欠落しているデータベースを調べている可能性があります。

mysqldump が rsync と正確に一致していることを確認するにはどうすればよいですか?

前もって感謝します、ブライアン

4

3 に答える 3

1

答えは簡単だと思います.mysqldumpを完了した後にrsyncを実行するだけです:)この方法では、最悪の場合、dbダンプにないいくつかの新しいファイルがありますが、一貫性のないdbエントリはありません。

于 2009-08-23T11:23:22.567 に答える
1

LOCK TABLESバックアップしているテーブルからの書き込みアクティビティをブロックするために使用します。次に、mysqldump完了したらロックを解除します。

于 2009-08-18T05:12:23.453 に答える
0

結果の mysqldump (サーバー上) と rsync によって (ローカルに) 転送されたものを MD5 し、2 つのハッシュを比較して一致することを確認します。もう 1 つの方法は、バージョン管理されたファイル (git または svn またはお気に入りの vcs を使用) に mysqldump を設定することです。たとえば、git の利点は、変更をリモート サーバーにプッシュするポストコミット フックを簡単に設定できることです。アップロードは、ダンプ全体ではなく、バージョン間の違いだけになります。このようにして、バックアップ期間を短縮することを考えることができます。

于 2009-08-18T05:24:30.590 に答える