さくらVPSにlsyncdを入れてみた。

自宅サーバーとリアルタイムで同期を取りたくなったのでlsyncdを入れてみました。
環境はcentos6 さくらVPSから自宅サーバーへのファイルの同期です。
rsyncで設定するより全然楽々でした。

コピー元サーバーでrpmforgeを使ってyumでインストール。

# yum --enablerepo=rpmforge install lsyncd

今回はパス無しでファイルが取れるようにしますw
コピー元でパスが空のid_rsa.pubを作成
ssh-keygen -t rsa
cat /root/.ssh/id_rsa.pub

コピー先サーバーにid_rsa.pubの内容を記載

vim /root/.ssh/authorized_keys

これでrootでパス無しログインができます。

次にconfの元を所定の場所に設置
cp /usr/share/doc/lsyncd/lrsync.lua /etc/lsyncd.conf
たいした内容書いてませんがw

今回行った設定は以下

----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync.
--コピー元
settings = {
statusFile = "/tmp/lsyncd.stat",
logfile = "/var/log/lsyncd.log",
statusInterval = 1,
}
--コピー先
sync{
default.rsync,
source="/home/",
-- target="trg",
target="hoge:/home/",
rsyncOps={"-av"},
}

/home以下を全部送ります。
rsyncのオプションはお好みで。

自動起動設定をしたり

# chkconfig lsyncd on

サービスを上げるとsyncが始まります。

# /etc/rc.d/init.d/lsyncd restart

しかし、設定が違ったり

rsync: -aq: unknown option
rsync error: syntax or usage error (code 1) at main.c(1422) [client=3.0.6]

ディレクリがなかったりしたら

rsync: mkdir "/hage/" failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(576) [receiver=3.0.6]
rsync: connection unexpectedly closed (9 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]

こんな風に文句言ってきますので設定を見直します。
実行時に指定したログを

# tail -f /var/log/lsyncd.log

tailしておくとわかりやすいです。

設置したら勝手に同期とってくれます。
ほとんどリアルタイムって感じですね。
geo-replicationを使っても非同期みたいなのでこちらの方が手軽なのかな?

まだ、さわりしか使ってませんが便利ですねlsyncd

ブックマーク パーマリンク.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です