Mondo Rescue でバックアップ
サーバのフルバックアップを取っておこうと思い、Mondo Rescue を導入してみましたので手順を残します。
Mondo Rescue とは
Mondo Rescue は、GPLライセンスのディザスタリカバリするためのソフトウェアです。
Linux (i386, x86_64, ia64)、およびFreeBSD (i386)がサポートされています。
使用環境
CentOS 6.6 (64bit)
バックアップ手順
Mondo Rescue のインストール
OS丸ごとバックアップする為、MondoRescueを導入する。
まずは、Mondo Rescue 本体をインストールします。
$ su - root $ mv mondorescue.repo /etc/yum.repos.d/ $ wget ftp://ftp.mondorescue.org/rhel/6/x86_64/mondorescue.repo $ yum -y install mondo
Mondo Rescue でのバックアップで必要となるため、高速圧縮パッケージ(lzo)をインストールする。
$ vi /etc/yum.repos.d/dag.repo [dag] name=Dag RPM Repository for Red Hat Enterprise Linux baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag gpgcheck=1 gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt enabled=0 $ yum -y install lzop lzo --enablerepo=dag
バックアップ
バックアップ先ディレクトリとして /backup を作成する。
$ mkdir /backup
調査のため、バックアップ前のファイルサイズを調べます。
$ du -sh / 3.8G /
いよいよバックアップです。 以下の通り実行し、ISO形式でのバックアップとしました。
$ mondoarchive -Oi -d /backup -E /backup -p `hostname`-`date +%Y%m%d`
オプション | 説明 |
---|---|
-O | バックアップの実行 |
-V | バックアップファイルの検証 |
-c speed | CD-R にバックアップします。 |
-w speed | CD-RW にバックアップします。 |
-r | DVD にバックアップします。 |
-p prefix | ISOイメージ名を指定します。 設定しない場合、"mondorescue-n.iso"というファイル名で保存されます。 |
-i | ISO 形式でバックアップします。 |
-n | NFSを使用してバックアップします。 |
-t | テープストリーマにバックアップします。 |
-U | USBデバイスにバックアップします。 |
-D | |
-E "dir|..." | バックアップ対象から除外したいディレクトリを指定します。 |
-I "dir|..." | バックアップ対象に含めたいディレクトリを指定します。 |
-J file | バックアップ対象に含めたいディレクトリの一覧ファイルを指定します。 |
-N | マウントされているNFSを除外します。 |
-d dev|dir | バックアップ先のデバイス(CD/tape/USB)、またはディレクトリ(NFS/ISO)を指定します。 |
-g | GUI モードで実行します。 |
-k path | カーネルのフルパスを指定 |
-s size | バックアップする際の分割サイズを姉弟します。 |
-x 'dev ..' | バックアップしたい non-Linux パーティション(NTFS、BeOS 等)を指定します。 |
今回の場合、10分弱で完了しました。
バックアップファイルを確認しました。 ISO形式の場合、約1/2程度のサイズとなるようです。
$ ls -lh /backup 合計 1.8G -rw-r--r-- 1 root root 639M 7月 5 05:16 2015 sakura-vps-20150705-1.iso -rw-r--r-- 1 root root 642M 7月 5 05:19 2015 sakura-vps-20150705-2.iso -rw-r--r-- 1 root root 507M 7月 5 05:21 2015 sakura-vps-20150705-3.iso
バックアップを定期実行したいので、以下の通り、crontab に追記します。
$ vi /etc/crontab ... 0 5 * * * root mondoarchive -Oi -d /backup -E /backup -p `hostname`-`date +\%Y\%m\%d` && rm -f /backup/`hostname`-`date -d '1 day ago' +\%Y\%m\%d`*