パソコン鳥のブログ

アクセスカウンタ

zoom RSS rsync を使用したバックアップ・ミラーリング

<<   作成日時 : 2014/10/09 22:50   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

rsync を使用したバックアップ・ミラーリングです。

sshを使う場合


ssh接続できる環境では特に設定は必要なく、セキュアにコピーが行えます。
ただし、転送速度は暗号化のオーバヘッド分劣ります。

コピー先
コピー元ホストからssh接続できることが必要です。
その他、必要な設定はありません。


コピー元
sshでリモートホストへ接続できることが必要です。

下記形式で rsync を実行すると、「コピー元ディレクトリ」を、「コピー先ホスト」の「コピー先ディレクトリ」へミラーリングします。

rsync -a --delete --progress -e ssh コピー元ディレクトリ コピー先ユーザ名@コピー先ホスト:コピー先ディレクトリ


例えば、次のようにします。

rsync -a --delete --progress -e ssh /home/ user001@test.example.com:/backup/home/



サーバに負担をかけずにバックグラウンドでコピー で紹介したように、--bwlimitオプションで転送速度を指定できます。
下記例では、秒間1000KBytes で転送します。

rsync -a --delete --bwlimit=1000 --progress -e ssh /home/ user001@test.example.com:/backup/home/





sshを使わない場合


sshを使う場合に比べて高速にコピーできますが、rsync用の設定が必要です。
またコピー経路の暗号化はされないので、LAN内の使用にとどめた方が良いです。

コピー先

rsync の接続を受け入れることが必要です。
ここでは、CentOS で xinetd を使用します。
以下でインストールします。

yum install xinetd

次に /etc/xinetd.d/rsync ファイルで、disable = の行を disable = no にします。

/etc/rsyncd.conf を作成します。
形式は次のようにします。


# Rsync logging Settings
transfer logging = yes

## Global Settings
uid = root
gid = root

[モジュール名1]
path = コピー先ディレクトリ
hosts allow = コピー元ホスト
hosts deny = *
read only = no

[モジュール名2]
path = コピー先ディレクトリ
hosts allow = コピー元ホスト
hosts deny = *
read only = no




例えば、次のようにします。
xx.xx.xx.xx/yy は CIDR形式でのアドレス、zz.zz.zz.zz はIPアドレスです。


# Rsync logging Settings
transfer logging = yes

## Global Settings
uid = root
gid = root

[home]
path = /home/
hosts allow = xx.xx.xx.xx/yy
hosts deny = *
read only = no

[www]
path = /var/www/
hosts allow = zz.zz.zz.zz
hosts deny = *
read only = no



設定後、xinetd を起動します。

/etc/init.d/xinetd start



コピー元

下記形式で rsync を実行すると、「コピー元ディレクトリ」を、「コピー先ホスト」の/etc/rsyncd.confの「モジュール名」に記載のディレクトリへミラーリングします。

rsync -a --delete --progress コピー元ディレクトリ コピー先ホスト::モジュール名


例えば、次のようにします。x.x.x.x の箇所はコピー先IPアドレスにします。

rsync -a --delete --progress /home/ x.x.x.x::home
rsync -a --delete --progress /var/www/ x.x.x.x::www


サーバに負担をかけずにバックグラウンドでコピー で紹介したように、--bwlimitオプションで転送速度を指定できます。
下記例では、秒間1000KBytes で転送します。

rsync -a --delete --bwlimit=1000 --progress /var/www/ zz.zz.zz.zz::www



コピー先で SELinuxが有効になっていると、コピー元では、「rsync error: error starting client-server protocol (code 5) at main.c(xxxx) [receiver=yy.yy.yy]」のような出力、コピー先では「rsync: chroot /home/ failed: Permission denied (13)」がログに残って失敗します。

コピー先の /etc/sysconfig/selinux で下記のように SELINUX=disabled として、SELinuxを無効にすればコピーできます。

/etc/sysconfig/selinux

SELINUX=disabled






参考


rsync
rsync
UNIXの部屋 コマンド検索:rsync (*BSD/Linux)
lsyncd と rsync を使ってリアルタイムなサーバー間ファイル同期を実現する | レンタルサーバー・自宅サーバー設定・構築のヒント

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
rsync を使用したバックアップ・ミラーリング パソコン鳥のブログ/BIGLOBEウェブリブログ
文字サイズ:       閉じる