はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> バックアップの薦め!! >> サーバ設定ファイルのバックアップ
動作確認 [ FC1 / FC2 / FC3 / FC4 / FC5 / FC6 / Fedora7 / Fedora8 / Fedora9 / Fedora10 / Fedora11 / Fedora12 / Fedora13 / Fedora14 / Fedora15 / Fedora15 / Fedora16 / Fedora17 / CentOS4 / CentOS5 / CentOS6 ]
  1. バックアップの薦め
  2. 必要なコマンド
  3. スクリプトの作成
    スクリプトのダウンロード
  4. cronに登録し自動化
  5. バックアップファイルのリストア方法

■ バックアップの薦め

サーバに限らず、大事なデータ等は常に日頃からバックアップする事が大事です。
設定ファイルなら以前と同じ値を設定すれば問題ありませんが、データなどは二度と同じにする事は不可能です。

しかし、出来ることならば設定ファイルもバックアップして、サーバOSの再インストール時に少しでも軽減できるように設定ファイルのバックアップスクリプトを作成しました。

スクリプト内の指定で、履歴バックアップも備えましたのでご利用ください。

■ 必要なコマンド

当スクリプトは、以下のコマンドを使用しています。

■ スクリプトの作成

任意のパスにスクリプトを作成します。
作成した場所を変更した場合は、cronに登録する際にそのパスに変更してください。

当方は「/root」直下に作成しました。

バックアップスクリプトの作成(apacheの場合)
# vi /root/backup_apache.sh
#!/bin/sh

以下の任意設定内をご自分の環境に合わせてください。
###########任意設定(ここから)###########
# バックアップ先のパス(必須:末端の"/")
BACK_UP_PATH=/backup/settings/
# バックアップファイル名
BACK_UP_FILE=backup_apache
# バックアップする世代数
GENERATION=7
###########任意設定(ここまで)###########
########################################
EXT_GZ=".tar.gz"
########################################

if [ ! -d $BACK_UP_PATH ]; then
  /bin/mkdir -p $BACK_UP_PATH
fi

idx=$GENERATION
until [ $idx -eq 0 ];
do
  if [ -f $BACK_UP_PATH$BACK_UP_FILE$idx$EXT_GZ ]; then
    if [ $idx -eq $GENERATION ]; then
      /bin/rm -f $BACK_UP_PATH$BACK_UP_FILE$idx$EXT_GZ
    else
      bkno=`expr $idx + 1`
      /bin/mv -f $BACK_UP_PATH$BACK_UP_FILE$idx$EXT_GZ $BACK_UP_PATH$BACK_UP_FILE$bkno$EXT_GZ
    fi
  fi
  idx=`expr $idx - 1`
done

以下の「./」から始まる部分がバックアップ対象の各種ファイルです。
/bin/tar zcfP $BACK_UP_PATH$BACK_UP_FILE"1"$EXT_GZ /etc/httpd/conf/ /etc/httpd/conf.d/

exit

バックアップスクリプトのパーミッション変更
# chmod 700 /root/backup_apache.sh

■ スクリプトのダウンロード

以下から、各バックアップスクリプトをダウンロードできます。

■ cronに登録し自動化

作成(ダウンロードし展開)したスクリプトをcronに登録し、自動的にバックアップを行います。

cron設定
プログラムを定期的に実行するcrondの設定ファイルを編集する
# crontab -e
毎日00:00にWebサーバ(apache)のバックアップを行う
00 00 * * * /root/backup_apache.sh

上記はWebサーバ(apache)のバックアップ例です。
他の設定ファイルもバックアップするには、行を追加して対象のスクリプトを設定してください。

■ バックアップファイルのリストア方法

バックアップスクリプトで実行した、各バックアップファイルは「backup_xxxxx.tar.gz」となっています。
リストアするには、以下を実施してください。

バックアップ先へ移動
# cd /backup/settings/

バックアップ先の確認
# ls -l
-rw-r--r-- 1 root root 45068 2007-10-05 11:44 backup_apache1.tar.gz

バックアップファイルのリストア(apacheの場合)
# tar zxvfP backup_apache1.tar.gz
/etc/httpd/conf/
/etc/httpd/conf/magic
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf.d/README
          :
          :


上記は規定の位置にリストアされます。(規定位置のファイルは上書されます)
上書されたくない場合は「tar」コマンドのオプション「P」を除外して実行します。(以下参照)
        「P」を除外
         ↓
# tar zxvf backup_apache1.tar.gz
この場合、ファイルは相対パスで展開されます。(現在のパス「/backup/settings/」配下に展開される)
このファイル群を先頭の"."を省いたパスへ上書きコピーすれば完了です。

例)「./etc/httpd/conf/httpd.conf」をリストア
# tar zxvf backup_apache1.tar.gz
/etc/httpd/conf/
tar: メンバ名から先頭の `/' を取り除きます
/etc/httpd/conf/magic
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/
        :
        :

# mv -f ./etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf

■ コンテンツ関連

■ その他

ページ先頭へ

Copyright(©)2004-2018 First home server construction. All Right Reserved.