VPS上で稼動しているDebianのバックアップを見直す。
今のバックアップはその場しのぎの運用になっていたので、VPSの移行を行った時の実績のあるやり方に変更しようと思う。
VPSの移行の時は一時的にサーバが2台あったので「rsync」で「現行→新規」でそのままデータを移行したけど、今回はバックアップということで
移行の時とは若干違うけど、バックアップファイルは次のような流れで保管していこうと思う。
「Debian上で必要なファイルをバックアップ→Ubuntuからrcyncでファイルを取得→UbuntuからNASに保管」
そんで、今回表示しているコマンドとかシェルはgithubの「gist」に登録したものを表示してみた。
前提:
Debian(サーバ)のHDDのフォーマットを行ってからOSのインストールをして、今までの状態に戻せるようにバックアップを取得する。
debianはクリーンインストールしたあとで、このバックアップの内容に戻すことで各種設定を復元し現行の機能を復活させる。
バックアップは「tar」でマルっと取得しておく。
※ここでるやる手順は「さくらVPS512からVPS1.5Gへの移行(Debian)」
を元にして、バックアップを行う。VPSの移行ではrcsyncでやったけどこれはtar版
やること:
①Debian(サーバ)バックアップ対象の洗い出し
②Debian(サーバ)側は週次でバックアップを取得(cronに登録してヤル)
③バックアップ先(ローカルのUbuntu)から「rsync」を使ってDebian(サーバ)側のデータを所得するテストを行う。
④バックアップ先(ローカルのUbuntu)では週次でバックアップファイルを保管する。(cronに登録してヤル)
⑤バックアップ先(ローカルのUbuntu)自体のバックアップは「simple backup」でNASに保管する※ここは掲載なし
⑥バックアップからの戻し
①Debian(サーバ)バックアップ対象の洗い出し
/(ルート)以下を全てファイルにまとめる
対象外指定は以下のようにしている
–exclude /dev
–exclude /etc/network
–exclude networks
–exclude hosts
–exclude /boot
–exclude /home/swap ←個人的作った不要なもの
–exclude /home/bkup ←個人的作った不要なもの
–exclude /proc
–exclude /sys
–exclude /var/run
–exclude /var/lock
–exclude fstab
圧縮時(パーミッションを保持する)
tar czvplf
解凍時(パーミッションを保持する)
tar pxvf
tarオプション(p,l)
-p, –same-permissions, –preserve-permissions 許可情報を全て抽出する
-l, –one-file-system ローカルなファイル・システムに限定してアーカイブを作成する
こんな感じのオプション指定になる。
※注意:サーバのIPアドレスが変わる場合は「/etc/network/」、「networks」、「hosts」は移行しない (Debian6のインストール時の設定を保持するため) ここを移行してしまうとサーバに繋がらなくなる。 これをシェルにしておく
パーミッションの設定(実行権限)
②Debian(サーバ)側は週次でバックアップを取得(cronに登録してヤル) 「crontab -e」でcronを登録
③バックアップ先(ローカルのUbuntu)から「rsync」を使ってDebian(サーバ)側のデータを所得するテストを行う。
#rsyncローカル(Ubuntu)からVPSのデータを取得※バックアップデータ
取得できたらCRONに登録する ④バックアップ先(ローカルのUbuntu)では週次でバックアップファイルを保管する。(cronに登録してヤル) 「crontab -e」でcronを登録
⑥バックアップからの戻し
・Debian(サーバ)側
- ・ハードディスクフォーマット
- ・OSインストール(Debian6)
- ・「rsync」をインストールする
- apt-get install rsync
・ローカルのUbuntu側
- .バックアップファイルをサーバに送る
- rsync -avz -e ssh /hoge/hoge/VPSBkUp/week-1 hoge.com:/
・Debian(サーバ)側
- ・ルート直下にバックアップファイルを置く
- cp バックアップファイル /
- ・バックアップファイルの解凍
- 解凍時(パーミッションを保持する)
- tar pxvf バックアップファイル