web-dev-qa-db-ja.com

VPSをバックアップする最も簡単な方法

私の状況:

2つのWebサイトがあるVPS(ubuntu)があります。私はVPSに慣れていないので(最近、共有ホスティングから移動しました)、ほぼ2週間かけて、すべてのWebを希望どおりに実行するようにVPSを構成する方法を学びました。 VPSの設定中に多くの間違いを犯したので、再インストール/設定/間違い/再インストール/設定などで学習していました。

これですべて問題なく、VPSが実行され、必要なすべてのサービスも機能し、多くの教訓が得られました。すべて問題ありません。

質問:

  1. VPS全体のバックアップを作成する最も簡単な方法は何ですか?

  2. WinSCPを使用してVPSバックアップを作成できますか?ルート(/)フォルダーに接続し、そこからすべてのVPSファイルをダウンロードするという意味ですか?

  3. はいの場合、VPS全体を最初から再インストールする必要がある場合、後でどのように復元しますか?

私の状況に関する追加情報:

  • データベースは手動でバックアップされます(phpmyadminを介して可能)
  • vPS管理パネル(SolusVM)にバックアップツールがありません
  • gUI cpanel/directadmin/virtualminなどを使用していません。コンソールのみを使用しています。
8
Sid

リモート仮想サーバーをバックアップする私の好ましい方法は、単にファイルをコピーすることです-とにかくカーネルはホスト上にあります。もちろん、復元するときは注意が必要であり、完全な復元を実行できない場合があります(ディスクイメージとは異なります)。一方、テスト用のローカルサーバーなど、別のサーバーに移行する方が簡単です。

現在、リモート接続を介して多くの小さなファイルをダウンロードすることは、多くのオーバーヘッドのために実際には非常に遅いです。これは、サーバーから物理的に離れている場合にさらに重要になります。通常、私はすべてを単一のtarアーカイブにバンドルしてから、それをより小さなサイズに圧縮することを好みます。

このためのコマンドはtar cpzf filename.tar.gz /です(ここで、/はルートからすべてを再帰的にバックアップすることを意味します)。 既存のバックアップファイルを除外する -多数のバックアップを保持する場合は、それらすべてを1つのディレクトリに配置し、そのディレクトリを除外する方が簡単です。次に、好きな方法でそのファイルをダウンロードする必要があります。

復元は、ルートディレクトリにあるときにコマンドtar xpf filename.tarを使用して行います。 ターゲットディレクトリを指定-Cを使用することもできます。

8
Bob

私はserverfaultで 同一の質問 に回答しました。これはbobの回答と同じ理由の一部をカバーしていますが、使用しているツールは少し異なり、焦点も少し異なります。パッケージリストを作成し、rsyncを使用することをお勧めします(アクセス許可を維持でき、ファイル転送が非常に効率的であるため)。

他のすべてが失敗した場合は、昔ながらの方法があります。dpkg--get-selectionsを使用して、インストールされているパッケージのリストをダンプし、dpkg--set-selectionsを使用してインストールします。必要に応じて、ソースシステムと同じユーザーを作成します。cat/ etc/passwdはそれらをリストする必要があり、diffを使用して、2つのリストが同一であるかどうかを確認できます。

次に、rsyncを使用して、設定用の/ etc /フォルダー、ユーザー用のさまざまな/ home /フォルダー(およびここでアクセス許可を確認)、および/ var/www /などの他のフォルダーを複製します。テストし、すべてがそこにあることを確認してください。これで完了です。新しいサーバーをセットアップするよりも時間がかかりません。

時には、古くて単純な方法が最善です。これを手動で行う場合は、現在のサーバーからこれを自動的に複製するスクリプトを作成するだけです。

2
Journeyman Geek

簡単な増分バックアップにはrsyncを使用してください。コマンドラインまたはスクリプトのより洗練されたシナリオからそれを行うことができます。

あなたが始めることができる例:

$ options="--stats -aHh --delete"; echo == RUNNING with options: $options; time rsync -e ssh $options root@your-server-ip-or-hostname:/ /destination/my-server-backup --exclude /proc --exclude /dev --exclude /sys --exclude /run/udev

私がまとめたスクリプトには、さらに多くの例がありますが、元々はWindows用でしたが、Linuxに直接適用できます: https://github.com/paravz/windows-rsync-backup

1
Alec Istomin