質問: 実行中のlinodeサーバーをバックアップするには? 私たちは、世界の反対側(linodeによってホストされている)でリモートに実行されているdebianサーバー上のすべてを、シャットダウンせずにバックアップしたいと考えています。このシステムは、いくつかの単純なnginx設定で、シェル、電子メール、xmpp/prosody、およびwebを実行しています。 私たちは安全のためにそれらに関連するファイルをバックアップしたいと考えています。たとえば、ユーザーがホームディレクトリに保存したファイル。すべての/ etcファイルに対して既存のセットアップを正確にコピーする必要はありません。代わりに、そもそもバックアップを行うのは、すべてを新しいセットアップに移動できるようにするためです(新しいバージョンのdebianはまだlinodeにあります)。linodeがバックアップサービスを提供していることを確認します。しかし、長期的には、自分自身のバックアップも必要です。ここでは、バックアップが失敗したり、何か奇妙なことが起こった場合に備えています。この質問が存在する理由は、過去にバックアップを作成しようとしたときに、次の2つの誤りのいずれかを犯し続けているためです。 私は「ok、/とその下にあるすべてのものをコピーする」に行った後、コピー先のドライブが/ media/backupにマウントされていて、それ自体を再帰的にコピーしていたため、奇妙な無限ループに陥りました[ rsyncなどでバックアップするため、ここでは該当しない特定の問題]または、/ procや/ varなどの「生きている」ものをコピーしようとしてスタックし、変化し続けるログに対応しようとしている、または 私は「ok、必要なものの最低限のものを取得します...うーん、全員のホームディレクトリ、およびwebサーバーディレクトリ(すべて/varの下)、および/etcのコピーと/の下のすべての古いメールを手に入れましょうvar/vmail」と入力した後、常にファイルのアクセス許可またはタイムスタンプを変更しました(今回はunixファイルをfatドライブにバックアップしないようにします)、または何かを忘れました(「ああ、シュート、カスタムスクリプトを/に入れましたどこにも保存したことのないusr/local/binです。それらを取得するのを忘れていました。 したがって、ドライブ全体をまっすぐにコピーすると、落とし穴が生じ、ディレクトリを選択的にコピーすると落とし穴が生じます。私はそれを正しく行う方法を知りたいです。サーバー障害の質問 完全なバックアップシステムに必要なもの は、哲学と優れた実践をカバーしていますが、以下のより具体的な詳細を探しています。 コピーする必要のあるディレクトリと除外するディレクトリ(現在実行中のシステムであり、wiki、xmppチャット、電子メールを提供している場合、コピージョブの実行中に新しいメッセージが送信される) タイムスタンプ、所有者、グループなど、どのファイル属性を提示する必要がありますか。また、それを行う方法を教えてください。 ←質問の半分は自分で次のようなもので答えられると思います...ええと...rsync -hxaz私たちにとって良い選択肢だと思いますか? -z obvは、「何を保存するか」という質問に実際には関連していません。 ddの使用など、バックアップに関するアドバイスの多くは、ドライブがマウントされておらず、使用されていないことを前提としているようです。しかし、/ procのような「生きている」ディレクトリや/ varの下のいくつかのサブディレクトリを除外するつもりはありません(ただし、/ varの下にあるもののいくつかは、私たちが確実に知っているdo必要です保持する)と/ mount?この状況で他に何を考える必要がありますか?次に、rsyncを使用して、--excludeフラグの束を使用するだけで、それを削ることができると思います。それとも、より良いアイデア、特にfossフレンドリーなアイデアはありますか?
回答: 実際に必要なのはリストアです。何をするにしても、定期的にテストを復元する必要があります。 linodeにはバックアップサービスがあります。 スナップショットは、事前定義された限られたスケジュールで、またはapiを使用して作成できます。スナップショットベースのバックアップの利点は、コピーが作成されている間、データが変更されないため、特定の時点を提供できることです。スナップショットは、別のホスト(この場合は新しいlinode)に簡単に復元することもできます。