Centosサーバー全体をバックアップする方法は?


24

数週間前、専用サーバーからVPSに切り替えました。すべてがVPSで正常に機能するようになったので、専用サーバーをシャットダウンし、ホスティング会社のアカウントを閉鎖したいと思います。

安心して、より安全にするために、停止する前にサーバーの完全バックアップを行いたいと思います。

バックアップに何かが必要だとわかったら、参照できるバックアップが最適です。

コマンドラインからの最良の解決策は何ですか?

更新:

中:ネットワーク

回答:


28

これに使用するのに最適なツールはおそらくダンプです。これは標準のLinuxツールであり、ファイルシステム全体を提供します。私はこのようなことをします:

/sbin/dump -0uan -f - / | gzip -2 | ssh -c blowfish user@backupserver.example.com dd of=/backup/server-full-backup-`date '+%d-%B-%Y'`.dump.gz

これにより/のファイルシステムダンプが実行され(他のマウントをダンプする必要がないことを確認してください!)、gzipで圧縮してリモートサーバー(backupserver.example.com)にsshし、/ backup /に保存します。後でバックアップを参照する必要がある場合は、復元を使用します。

restore -i

もう1つのオプションは、ダンプにアクセスできない場合、tarを使用して次のようなことを行うことです。

tar -zcvpf /backup/full-backup-`date '+%d-%B-%Y'`.tar.gz --directory / --exclude=mnt --exclude=proc --exclude=tmp .

ただし、tarはファイルシステムの変更も処理しません。


このダンプコマンドはインストールされたプログラムの面倒も見てくれますか?nginxのような、など。
ターレ

ダンプは、ファイルシステムのリテラルコピーであり、すべてがそこにあります。必要なのは、複数の(実行して確認するmount)がない限りです。
ビルヴァイス14年

これを取得-bash: /sbin/dump: No such file or directory
ルーカスブスタマンテ

@LucasBダンプをインストールする必要がある場合があります。Ubuntuでは、次のようなことを行いますsudo apt-get install dump
-pehrs

@pehrs .gzファイルを使用してどのように復元しますか?あなたの答えにそれを追加してください。本当に役立つでしょう。
赤いボトル

10

LinuxからLinuxにバックアップしたい場合、ダンプを使用しません。バックアップファイル内の何かにアクセスする必要があるときに不便だからです。ほとんどの場合rsync SSH を介してシステム全体のバックアップ行うだけで十分です

rsync -aAXv --delete-after --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / user@server:backup-folder

これにより、すべてが重要になり、追加の手順なしでバックアップを参照できます。

--deleteこれを同じバックアップフォルダに複数回実行している場合は、rsyncのオプションを追加できます。この場合、ソースパスの末尾がでないことを確認してください。そうしないと/*、このオプションはソースディレクトリのサブディレクトリ内のファイルにのみ影響しますが、ソースディレクトリ内に直接存在するファイルには影響しません。


3

どのメディアにバックアップを保存しますか?ネットワーク経由でバックアップする場合、sshfs / nfsでソースサーバーに宛先をマウントし、次のように実行します。

tar cvjf /<remote_mnt>/<point>/source-030810-full.tar.bz2 /* --exclude=/proc --exclude=/dev --exclude=/sys --exclude=/tmp --exclude=/<remote_mnt>

テストされていないことに注意してください。私の一般的な考えでは、それ以上またはそれ以下を除外できます。


3

上記のコマンドをpehrsから使用していますが、ftp用に変更されています。Crontabサンプル:

30 3 1 * * sudo /sbin/dump -0uan -f server-full-backup-root-`date '+%d-%B-%Y'`.dump / && gzip -1 /<path_to_backup_file>/server-full-backup-root-`date '+%d-%B-%Y'`.dump
50 * * * * lftp -f upload.x

upload.xには、ftp認証情報とアップロードのルールが含まれています。

open -u user,password -p 21 192.168.1.1
mirror -c -e -R /<path_to_backup_folder> /<path_to_remote_folder_without_trailing_slash>
exit

注1:宛先が再接続を試行して到達できない場合、lftpによりCPU使用率が高くなることがあります。そのような場合、多くのホスティングVPSがリセットされる可能性があるため、CPU負荷を監視してlftpプロセスを強制終了し、ホスト所有者によるサーバーのシャットダウンを防ぐことをお勧めします。プロセスlftp(およびdropbox)の負荷平均> 1.33の例。残念ながら、誰かのおかげで、初期コードのソースを覚えていません。

クロンタブ */5 * * * * /home/cms/cron/loadmon.sh

#!/bin/bash
FROM_EMAIL_ADDRESS=cms
  trigger=1.33
  load=`cat /proc/loadavg | awk '{print $1}'`
  response=`echo | awk -v T=$trigger -v L=$load 'BEGIN{if ( L > T){ print "greater"}}'`
if [[ $response = "greater" ]]
then
  killall dropbox lftp
  nice -n 19 sh /cms/.dropbox-dist/dropboxd
  sar -q | mailx -s "High load on server - [ $load ]" r***s@gmail.com
fi

注2:ダンプユーティリティは、OpenVZ VPSまたはその他の仮想サーバーでは機能しない場合があります。


2

あなたはバキュラのことを聞いたことがありますか?

Baculaは、さまざまな種類のコンピューターのネットワーク全体でコンピューターデータのバックアップ、回復、および検証を管理できるオープンソースのエンタープライズ対応コンピュータープログラムのセットです。Baculaは比較的使いやすく効率的である一方、失われたファイルや破損したファイルを簡単に見つけて回復できる多くの高度なストレージ管理機能を提供します。技術的には、オープンソースのエンタープライズ対応のネットワークベースのバックアッププログラムです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.