lsyncdでサーバ間でファイルを同期する

複数のサーバ間でファイルを簡単に同期するのに、
lsyncdとrsyncを利用する場合のインストール方法になります。

◆rsyncの設定
同期先の各サーバで設定する。

# vi /etc/xinetd.d/rsync

service rsync
{
disable = no # noにする
(略)
}

# vi /etc/rsyncd.conf

[site1]
# コピー先対象ディレクトリ
path = /home/homepage/public_html/common

# コピーを許可するホスト(コピー元ホストを指定)
hosts allow = 192.168.0.10
hosts deny = *
list = true
uid = root
gid = root
read only = false

# service xinetd restart

◆lsyncdの設定
同期元のサーバでのみ設定する。
# yum –enablerepo=remi,rpmforge,epel install lsyncd
# cp /usr/share/doc/lsyncd/lrsync.lua /etc/lsyncd.conf
# vi /etc/lsyncd.conf

settings = {
statusFile = "/tmp/lsyncd.stat",
logfile = "/var/log/lsyncd.log",
statusInterval = 1,
}

sync{
default.rsync,
source="/home/homepage/public_html/common/",
target="192.168.0.11::site1", # 同期先を指定
rsyncOps="-az",
excludeFrom="/etc/rsync_exclude.lst",
}

sync{
default.rsync,
source="/home/homepage/public_html/common/",
target="192.168.0.12::site2",
rsyncOps="-az",
excludeFrom="/etc/rsync_exclude.lst",
}

# vi /etc/rsync_exclude.lst
*.swp
*.tmp

# chkconfig lsyncd on
# service lsyncd start

こんな感じで設定してあげると、同期元のサーバにアップしたファイルが簡単にサーバ間で同期できます。
ファイルが多いときや、頻度が多いと色々問題が出てきそうですけれど、そうでなければこれでいけそうです。

The following two tabs change content below.

taira

Sofrware Engineer.

Comments are closed.