Linuxサーバ奮戦記 ---ファイルのバックアップ方法---   (14Dec2007)    >>TOP


ファイルのバックアップ方法1

自宅サーバのHP用ファイルデータをバックアップする方法についてはホームディレクトリ以下を、またApache2の設定ファイルもバックアップする方法は以下の様にしています。Linuxのよいところはバックアップ圧縮ファイルを復元させると元のパスに、しかもパーミッションまで復元できてしまうので便利です。例えばCGIで作成された掲示板やカウンターなどのパーミッションを変更し直す必要がなく以前の状態で利用できます。

作業を /home で行うとして

#cd /home

バックアップリストファイルを作成します。

#vi backup-list

バックアップしたいものを以下の様にパスで指定します(例では2つとしています)。

 /home/html
 /usr/local/apache2/conf

上記で作成した backup-list に指定されているファイルを  backup01(適当な名前)  というファイルに圧縮します。

#tar zcvfT backup01.tar.gz backup-list

backup01.tar.gz というファイルが作成されます。
このファイルをクライアントPC(Windows)からダウンロードして外付けHDかCD-Rに書き込めばよいことになります。



ファイルのバックアップ方法2

他の方法に,ディスクごとイメージとして保存する方法があるようです。起動CDとして立ち上がってWindows,Linuxを問わずまるごと保存してしまうことができるので,HDが故障して新しいHDに以前の状態に復元することが可能です。
必要なものは別の内蔵HDか外付けUSBタイプのHDがあればOKです。自分が試してみたソフトは Acronics True Image 7.0  です。 Linux領域をチェックして外付けHDにイメージバックアップして,Windows PC に外付けHDを繋ぎ変えてCD-Rに書き込めば,とりあえず安心かな。

左のは実際にLinuxマシンをAcronics True Image 7.0で起動させたものです。ウィンドウは Windows XP のようなGUI で表示されますが,Windows XP が起動しているわけではありません。


ファイルのバックアップ方法3

rsync,ssh,cronによるバックアップというものがあるらしく,試してみると定期的に差分だけをとってバックアップできるので便利である。
ただし,サーバ機とバックアップ機とPC2台を使用。しかも2台ともLinuxであり,Fedora core 1で試してみた。以下の設定はrootで行うことにする。(suで変われる)

サーバ機側の設定

# cd ~
# ssh-keygen -t rsa
(何も入力せず Enter を押していく)

# rsync -e ssh /root/.ssh/id_rsa.pub 192.168.0.50:/root/.ssh/
(192.168.0.50はバックアップ機のIPアドレス)


バックアップ機側の設定

# cd ~/.ssh/
# cat id_rsa.pub > authorized_keys
# rm id_rsa.pub
# chmod 600 authorized_keys


次に,サーバ機側で以下のように入力してパスワードを聞いてこなければOK。
#slogin 192.168.0.50
OKであれば,とりあえずEXITする。


crontabで設定
crontabを設定する前にスクリプトを作成しておくほうが楽そうだ。
適当な名前を付けることにして,backup.shとして進める。

# vi /root/backup.sh

#!/bin/sh

RSYNC='rsync -av --delete -e ssh'
HOST='192.168.0.50'

$RSYNC /home/sample1/htdoc/ $HOST:/home/sample1/htdoc
$RSYNC /home/sample2/public_html/ $HOST:/home/sample2/public_html
$RSYNC /home/sample3/public_html/ $HOST:/home/sample3/public_html

# chmod u+x /root/backup.sh

次に,crontabを設定し走らせる。

# crontab -e

SHELL=/bin/sh
MAILTO=sample@yuyuyu.jp
0 */6 * * *  /root/backup.sh

以上で自動バックアップが行われるようになる。実行されるたびにメールが送信される。上記の例では6時間おきに実行されるようになっている。時間の設定は他のサイトで説明されているので省略。