0

だから私はかなりのグーグルをしましたが、これに対する答えはまだ見つかりません. ライブで迅速に応答する必要があるサーバーが 1 つあります。訪問者や顧客を待たせたくありません。ただし、サーバーの問題が十分に発生したため、適切なバックアップが必要であり、現在のようにいつでもバックアップする必要がないことがわかりました。

このサーバーで mysqldump と tar を試してみたところ、機能しましたが、サーバーが何時間も非常に遅くなりました。また、ハードドライブがいっぱいになる可能性があり (古いバックアップを長時間削除するのを忘れた場合)、MySQL がダウンし、ひいてはサイトがダウンします。サーバーの速度を落とすことは容認できないため、これまでのバックアップは、最も一般的な遅い日/時間に週に1回程度しか行われません. しかし、私はこの解決策が好きではありません。

そのため、プライマリ サーバーのほぼリアルタイムのバックアップとして設定した別のサーバーができました。MySQL レプリケーションと毎日の rsync をセットアップしています。その後、プライマリの応答時間に影響を与えることなく、このバックアップ サーバーから毎日の mysqldump と tar を実行できます。それをさらに一歩進めたいという点を除けば、素晴らしいことです。

ログ ファイルや基本的な訪問者追跡ファイル (IP、リファラー、ユーザー エージェントなど、悪意はありません) など、1 日を通してキャプチャされるデータ ファイルが多数ありますが、これらはリアルタイムで処理する必要はありません。プライマリ サーバーのリソースを拘束するのではなく、このバックアップ サーバーでこれらのファイルを処理するのが最善です。しかし、これは私にとって問題を引き起こします。これらのファイルをプライマリ サーバーからバックアップ サーバーに移動して処理したいと考えています。ファイルは多くのディレクトリに散らばっており、そのディレクトリのリストは時間の経過とともに大きくなります。そのため、いくつかのディレクトリで mv を実行したり、そのリストを今後維持する必要がないようにしたいと考えています。新しいディレクトリの一部は最終的に忘れられてしまいます。

そのため、必要なディレクトリをプライマリ サーバーのバックアップ サーバーの /media フォルダーの下にマウントしました。ファイルをコピーしたいだけならscpを使いますが、移動したいです。したがって、次のようなコマンドが必要です。

mv /media/primary/*.log /backup/.

ここで、mv コマンドは /media/primary フォルダーを再帰的に検索し、ディレクトリを下って各サブフォルダーに移動し、.log 拡張子を持つファイルを探します。次に、そのファイルを /media/primary/ から /backup の同等のフォルダーに移動します。たとえば、ディレクトリ /media/primary/tool1/logs と /media/primary/tool2/logs にログ ファイルがある場合、それらを /backup/tool1/logs と /backup/tool2/logs に移動したいと思います。それぞれ。フォルダーが見つからない場合は、コマンドでフォルダーを作成したいと思います (必須ではありません)。適切に移動すると、ファイルを処理し、バックアップ サーバーのローカル ハード ドライブから名前を変更/削除できます。

私は両方のマシンで Ubuntu 12.04 サーバーを使用しています。私は主に PHP で作業しているので、毎日実行するバックアップ サーバー用の PHP スクリプトを作成しています。このスクリプトは、SSH (phpseclib) 経由でシステム コマンドを実行できます。

CLI の 1 つのコマンドは素晴らしいですが、それが不可能な場合があることは理解しています。

ありがとう

4

1 に答える 1