Linux

2012-02-13, rsnapshot linux

rsnapshot

rsyncやsshを内部で利用して、リモートホストのバックアップを取得するためのユーティリティです。「スナップショット」と冠されているように世代管理が容易に行なえます。

導入

まずはインストールと初期設定です。

# yum -y install rsnapshot
# vi /etc/rsnapshot.conf

以下のように設定をしました。設定ファイル中の隙間は全てタブを使用する必要があります(スペースで区切ることができません)。

/etc/rsnapshot.conf
# コメントを外して有効化
cmd_ssh /usr/bin/ssh

# 3日分だけ履歴を残す
interval daily 3

# バックアップ対象の登録
backup user@example.jp:/var/lib/tomcat6 example.jp/

設定完了後、以下のコマンドで起動します。

# rsnapshot daily

処理の経過は、/val/log/rsnapshotに記録され、バックアップされたデータは/.snapshot/以下にあります。rsnapshptで出来ることはここまでです。実際に日々のルーチンとして使用するには、この後、以下の設定が必要になります。

鍵ペアを作成、公開鍵をリモートホストに登録してパスワード無しでログインできるようにします。

# ssh-keygen -t rsa
(プロンプトに従って必要な設定を入力)
# ssh-copy-id -i .ssh/id_rsa.pub user@example.jp

再度、rsnapshotを動かして、パスワードを聞かれなくなったことが確認できたら、上記コマンドをcrontabに登録します。

# crontab -e
crontab
0 0 * * * /usr/bin/rsnapshot daily

世代の記録には「cp -al」コマンドを利用しているため、複数のスナップショットが存在していても、差分の部分しか容量が増加しないようになっているようです。あとは時々、動作状況(ログ)をチェックしてあげる程度で大丈夫でしょう。

**参考リンク

この記事は役に立ちましたか?