2008.01.14 Mon

rsyncとsshで安全にバックアップをする

サーバーのファイルをバックアップする方法

バックアップ元のサーバーの設定

rootアカウントでsshにログインできるように設定を変更

# vi /etc/sshd/sshd_config
PermitRootLogin yes
※ yes でなく forced-commands-only でも可

設定の反映

# service sshd restart

※iptablesを起動している場合はポートも空けておきましょう。
公開鍵をおくディレクトリの設定

# mkdir /root/.ssh/
# chmod 700 /root/.ssh/


バックアップサーバーの設定

バックアップサーバーからバックアップ元サーバーへ、sshにパスフレーズなしで、ログインできるようにする

# ssh-keygen -t rsa
すべてエンターでOK

公開鍵をバックアップ元サーバーへコピーする

# scp /root/.ssh/id_rsa.pub メイン側のホスト名:/root/.ssh/
パスワードの入力が必要

バックアップ元のサーバーの設定

# mv /root/.ssh/id_rsa.pub /root/.ssh/authoried_keys
# chmod 600 authoried_keys

SSHにパスフレーズなしでログインできるかテスト

# ssh バックアップ元サーバーIP

上記コマンドでパスワードを聞かれなければ設定は完了です。

rsyncを使ってバックアップ

バックアップ元サーバーの/homeディレクトリをすべてバックアップサーバーの/backupディレクトリへコピーする

# rsync -avz -e ssh バックアップ元サーバーIP:/home /backup

rsynkを使ってサーバーの情報を同期させる

# rsync -avz -e ssh --delete バックアップ元サーバーIP:/home /backup

通信が途中で途切れる場合は以下のオプションで実行してみる

# rsync -av -e ssh --delete --bwlimit=8192 --timeout=600 バックアップ元サーバーIP:/home /backup

参考サイト

システム構築に関する覚書トップページへ