私たち「GMO INTERNET GROUP」のサービスは国内・海外で多くのお客様にご利用いただいております。

マニュアル : マイティーサーバーの専用サーバー

トップ サポート オプションマニュアル バックアップ設定 バックアップ(Linux)設定

マニュアルSUPPORT

Linuxバックアップ設定手順

    

バックアップサーバのディレクトリのマウント

マイティーサーバーにログインし、su- で rootにスイッチします。マウントポイントを作成します。

mkdir /mnt/dir

バックアップサーバのIPアドレス、共有ディレクトリを確認の上下記コマンドを実行します。

mount 192.168.1.2:/共有ディレクトリ名 マウントポイント

弊社からご連絡させていただいたIPアドレスが 192.168.2.2
共有ディレクトリ名が /vgroup00/backup1/mtsv.jpの場合は、下記のコマンド実行していただきます。

mount 192.168.2.2:/vgroup00/backup1/mtsv.jp /mnt/dir

サーバを再起動した際にもバックアップサーバのディレクトリがマウントされるように設定ファイルを書き換えます。
vi等のエディタを利用して /etc/fstab のファイルを変更します。

192.168.2.2:/vgroup00/backup1/mtsv.jp /mnt/dir nfs defaults 0 0

backup.shの基本概要

    

バックアップ機能

弊社で用意しましたシェルスクリプト『backup.sh』を使用することで、バックアップが可能です。スクリプトはバックアップ領域にございます。

tarコマンドにて下記ディレクトリを、圧縮後バックアップします。

/etc: サーバの設定等が保存されているディレクトリ
/var: サーバのlog等が保存さてているディレクトリ
/usr: アプリケーションや、サービスのプログラムが保存されているディレクトリ
/home: 仮想サイトのwebのデータ等が保存されているディレクトリ
    

LOG機能

backup.shと同じディレクトリにLOGを保存します。

backup.log: バックアップの蓄積LOG
backuplog.tmp: 過去1回分のバックアップのLOG

設置方法

backup.shを/home /etc /usr /var 以外の任意のディレクトリに置きます。
ここでは、/rootに置くと仮定し説明致します。

--------
cd /root
pwd
/root
--------

設置後、ファイルに実行権限を与えます。
--------
chmod 755 backup.sh
--------

backup.shの初期設定

そのままでも使用は可能ですが、下記の場合はvi等で変更を行って下さい。

backup.shが「/root」に設置していない場合。
要変更箇所 :DIR=/root

弊社のバックアップサーバのマウント先が「/mnt/dir」以外を指定している場合。
要変更箇所 :OUTDEV=/mnt/dir

バックアップの実行と方法

弊社で用意致しましたシェルを使用することで、マイティーサーバーのフルバックアップが可能です。

backup.shに実行権限を与えます
--------
chmod 755 backup.sh
--------

backup.shが設置してあるディレクトリ上でシェルを実行します
--------
./backup.sh
--------

特定の周期で自動的に実行させる場合は、cronに登録することでbackupの処理を自動化できます。

/etc/crontabに下記の行を追加します。
2 5 * * 0 root sh /root/backup.sh

ファイルを保存後に crondを再起動します。
/etc/rc.d/init.d/crond restart

上記の設定ですと毎週日曜の5時2分に指定したディレクトリのファイルが/mnt/dirにコピーされます。

※ cronの時間指定に関する説明
  crontabに指定する時間・曜日に関しては、「分 時 日 月 曜日 実行者権限 コマンド」の順に指定します。
各項目には下記の値を指定することが可能です。
分 0-59
時 0-23
日 0-31
月 0-12
曜日 0-7 (0 と 7 は日曜日)文

その他管理

ご契約頂いているバックアップ容量と、サーバーのバックアップファイル量の確認を行って頂けます様お願いいたします。
duコマンド、ls -laコマンドなどで、バックアップファイルのサイズを確認して下さい。 ※dfコマンドを使用すると、バックアップサーバ全体の容量を表示してしまいますのでご注意ください。

また、普段からlogの確認を行っていただき、バックアップが正常に行えているか確認頂けます様お願いいたします。

下記にlogのエラー例を記載いたしますので、ご活用ください。

backup.shが「/root」に設置していない場合。
要変更箇所 :DIR=/root

弊社のバックアップサーバのマウント先が「/mnt/dir」以外を指定している場合。
要変更箇所 :OUTDEV=/mnt/dir

>> ソケットは無視します
ソケットファイルはtarでバックアップできません。
ソケットファイルは一時ファイルですので、自動的に復元いたします。
バックアップ出来なくても問題ございませんが、不安がある場合は、個別でバックアップを行ってください。

>> メンバ名から先頭の `/\' を取り除きます
>> ** バイトのうち、0 バイトのみ書き込みました
エラーを回復できません: 直ちに終了します
ディスク容量が足りなく、正常にバックアップができなかった可能性があります。
バックアップ領域を増やす等を行ってください。

>> gzip: stdout: Disk quota exceeded
ディスク容量が足りなく、正常にバックアップができなかった可能性があります。
バックアップ領域を増やす等を行ってください。

バックアップLOGのメール通知(オプション)

backup.shのスクリプト内にある、特定の項目をコメントアウトすることで使用可能です。
バックアップ毎に完了後に結果の通知を行います。
コメントアウトする個所は以下の通りです。

【変更前】1箇所目
---------------------
## Mail config (Option)
#
#mladd=root@localhost
#mlSubject=Back_Up_Script_LOG_MAIL
---------------------

【変更後】
---------------------
## Mail config (Option)
#
mladd=root@localhost
mlSubject=Back_Up_Script_LOG_MAIL
---------------------

※『root@localhost』の部分は通知先のメールアドレスを記入してください。

【変更前】2箇所目
---------------------
##Send Mail ----------------------------------------------------
## Mail config (Option)
#
#echo ">>Send Mail Backup Result" >> ${tempLOG}
#nkf -j ${tempLOG} > ${tempLOG}.j
#mail -s ${mlSubject} ${mladd} < ${tempLOG}.j
---------------------

【変更後】
---------------------
##Send Mail ----------------------------------------------------
## Mail config (Option)
#
echo ">>Send Mail Backup Result" >> ${tempLOG}
nkf -j ${tempLOG} > ${tempLOG}.j
mail -s ${mlSubject} ${mladd} < ${tempLOG}.j
---------------------

※nkfコマンドはお客さまご自身でインストールいただく必要があります。

リストアの実行と方法

そのままでも使用は可能ですが、下記の場合はvi等で変更を行って下さい。

弊社で用意しましたシェルスクリプト『restore.sh』を使用することで、フルリストアが可能です。スクリプトはバックアップ領域にございます。

特定の仮想サイトのデータを取り出し、復旧する場合は、仮想サイトのデータが収容されているバックアップファイル『backupHome.tar.gz』を、お客様のクライアントマシンにダウンロードした後に、ftp等で復旧対象のデリレクトリへアップロードを行って下さい。アップロードを行う際は、アップロード先のユーザにてログインを行って、作業を行って下さい。 adminユーザや、他のユーザでアップロード作業を行う場合は、作業後に所有者情報の変更を行う必要がございます。

必ず、os再インストール後に弊社バックアップサーバーにマウントされていることを確認後、行って下さい。サーバーに、ある程度の設定等を行っている場合は、復旧出来ない場合もございます。

restore.shに実行権限を与えます。
--------
chmod 755 restore.sh
--------

シェルを実行致します。すると、下記メッセージが表示されます。
--------
How about Backup Mount point? (Ex.. /mnt/dir/) :
--------

ここで、バックアップサーバーのマウント先が『/mnt/dir』である場合、その旨を記入しenterキーを押します。すると、下記メッセージが表示されます。
--------
/mnt/dir is OK?? (Enter to continue..)
--------

間違っていた場合は『ctrl+c』キーを押して中止して下さい。問題なければ、enterキーを押し実行します。

実行完了後、『End...Please..reboot!!』と表示されますので、/home/sites配下等に問題なく解凍出来ているのであれば正常完了ですので、再起動を行って下さい。途中でエラーが出る場合は、マウント先やバックアップファイル等無い場合がございますので再度ご確認の上実行してくださいますようお願いいたします。

【backup.sh】
#! /bin/sh

#######################################
#
#tar czpf /mnt/dir/backupEtc.tar.gz/etc
#tar czpf /mnt/dir/backupHome.tar.gz /home
#tar czpf /mnt/dir/backupVar.tar.gz /var
#tar czpf /mnt/dir/backupUsr.tar.gz /usr
#
#######################################


## Config ------------------------------------------------------
DIR=/root
tempLOG=${DIR}/backuplog.tmp
LOG=${DIR}/backup.log
OUTDEV=/mnt/dir

OBJECT1=/etc
OBJECT2=/home
OBJECT3=/var
OBJECT4=/usr

## Mail config (Option)
#
#mladd=root@localhost
#mlSubject=Back_Up_Script_LOG_MAIL

### Start ------------------------------------------------------

cd /root
mv ${tempLOG} ${tempLOG}.2

echo "---------------------------------------" \
>> ${tempLOG}

date >> ${tempLOG}
echo ">>Backup....start" >> ${tempLOG}
echo "---------------------------------------" \
>> ${tempLOG}
echo " " >> ${tempLOG}

du -sh ${OUTDEV} >> ${tempLOG}
echo " " >> ${tempLOG}
ls -alh ${OUTDEV} >> ${tempLOG}
df >> ${tempLOG}

echo " " >> ${tempLOG}
echo " " >> ${tempLOG}

echo "------------------" >> ${tempLOG}
echo ">>tar..backup..Start" >> ${tempLOG}
echo " " >> ${tempLOG}

## Etc backup --------------------------------------------------
echo ">>tar../etc..backup..Start" >> ${tempLOG}
tar czpf \
${OUTDEV}/backupEtc.tar.gz \
${OBJECT1} \
>> ${tempLOG} 2>&1
echo " " >> ${tempLOG}

## Home backup -------------------------------------------------
echo ">>tar../home..backup..Start" >> ${tempLOG}
tar czpf \
${OUTDEV}/backupHome.tar.gz \
${OBJECT2} \
>> ${tempLOG} 2>&1
echo " " >> ${tempLOG}

## Var backup --------------------------------------------------
echo ">>tar../var..backup..Start" >> ${tempLOG}
tar czpf \
${OUTDEV}/backupVar.tar.gz \
${OBJECT3} \
>> ${tempLOG} 2>&1
echo " " >> ${tempLOG}

## Usr backup --------------------------------------------------
echo ">>tar../usr..backup..Start" >> ${tempLOG}
tar czpf \
${OUTDEV}/backupUsr.tar.gz \
${OBJECT4} \
>> ${tempLOG} 2>&1
echo " " >> ${tempLOG}
echo " " >> ${tempLOG}
echo "------------------" >> ${tempLOG}
echo " " >> ${tempLOG}

du -sh ${OUTDEV} >> ${tempLOG}
ls -alh ${OUTDEV} >> ${tempLOG}

date >> ${tempLOG}

echo " " >> ${tempLOG}
echo " " >> ${tempLOG}
echo ">>Backup....End" >> ${tempLOG}
echo " " >> ${tempLOG}
echo " " >> ${tempLOG}

##Send Mail ----------------------------------------------------
## Mail config (Option)
#
#echo ">>Send Mail Backup Result" >> ${tempLOG}
#nkf -j ${tempLOG} > ${tempLOG}.j
#mail -s ${mlSubject} ${mladd} < ${tempLOG}.j

##Write Log-----------------------------------------------------
echo "---------------------------------------" \
>> ${tempLOG}
cat ${tempLOG} >>${LOG}

#End

【restore.sh】
#! /bin/sh
####################
### Need files are....
# backupEtc.tar.gz
#backupHome.tar.gz
#backupVar.tar.gz
#backupUsr.tar.gz
#
####################

printf "How about Backup Mount point? (Ex.. /mnt/dir/) :"
read MountPT
echo -n "${MountPT} is OK?? (Enter to continue..)"
read
ls -al ${MountPT}

echo `cd ${MountPT} && pwd ${MountPT}`

ls -f `cd ${MountPT} && pwd ${MountPT}`/backupEtc.tar.gz && \
ls -f `cd ${MountPT} && pwd ${MountPT}`/backupHome.tar.gz && \
ls -f `cd ${MountPT} && pwd ${MountPT}`/backupVar.tar.gz && \
ls -f `cd ${MountPT} && pwd ${MountPT}`/backupUsr.tar.gz && \
du `cd ${MountPT} && pwd ${MountPT}`

echo "Stop main systems..."
/etc/rc.d/init.d/sendmail stop
/etc/rc.d/init.d/httpd stop
/etc/rc.d/init.d/admserv stop
/etc/rc.d/init.d/crond stop
/etc/rc.d/init.d/poprelayd stop
/etc/rc.d/init.d/cced.init stop
echo "OK..."

cd /

echo "Start Recovery"
tar zxpvf `cd ${MountPT} && pwd ${MountPT}`/backupEtc.tar.gz
tar zxpvf `cd ${MountPT} && pwd ${MountPT}`/backupHome.tar.gz
tar zxpvf `cd ${MountPT} && pwd ${MountPT}`/backupVar.tar.gz
tar zxpvf `cd ${MountPT} && pwd ${MountPT}`/backupUsr.tar.gz

cd ${MountPT}

echo "End...Please..reboot!!"

#End

お問い合わせはこちら
導入事例はこちら
料金表
アフィリエイト
Facebook
サーバー
ライトプラン
スタートプラン
アドバンスプラン
ラック
セミコロライトSプラン
セミコロライトMプラン
セミコロライトLプラン
オプション
セキュリティー
監視運用
サーバー・サイト運営
サポート
標準サービス
回線
OS
データセンター
30日間返金サービス
マイティーサーバーはISO27001(ISMS)認証を取得しています