lsyncd(リアルタイムでrsync)使ってみる
2011年1月 9日(日) 22:23 JST
閲覧数 5,136
Slackware 13.1で lsyncd を使ってみました。
はじめはDRBDの使用も考えたのですが、デバイスレベルでの同期ではなくファイルレベルでの同期をしたかったのでlsyncdを使うことにしました。
(srchack.orgの外部公開サーバの障害がなぜか2回ともファイルシステムが壊れる障害だった為、少し気にしてしまった。。。)
lsyncd は inotify でファイルの変更を検出して自動的に rsync を実行してくれるというもの。
rsyncの設定は、適当に同期元サーバからアクセスできる様にしておきます。
openssh経由も可能なので、ssh経由で遠隔地同期も可能かもです。
起動はこんな感じですかね。
設定ファイルを用意して起動時に設定ファイル指定でも良いのですが、引数で手軽に使えそうなのは便利。
Slackware 13.1ではパッケージが用意されていなかったので、SlackBuilds.orgでみつけたスクリプトでビルドしました。
作ったパッケージはこんな感じ。依存関係でluaも必要になります。
ビルドするの面倒だという方はご利用ください。
lsyncd-2.0.0-i486-1rha.tgz
lua-5.1.4-i486-5_SBo.tgz
はじめはDRBDの使用も考えたのですが、デバイスレベルでの同期ではなくファイルレベルでの同期をしたかったのでlsyncdを使うことにしました。
(srchack.orgの外部公開サーバの障害がなぜか2回ともファイルシステムが壊れる障害だった為、少し気にしてしまった。。。)
lsyncd は inotify でファイルの変更を検出して自動的に rsync を実行してくれるというもの。
rsyncの設定は、適当に同期元サーバからアクセスできる様にしておきます。
openssh経由も可能なので、ssh経由で遠隔地同期も可能かもです。
起動はこんな感じですかね。
設定ファイルを用意して起動時に設定ファイル指定でも良いのですが、引数で手軽に使えそうなのは便利。
# lsyncd -rsync /var/www/htdocs 192.168.1.234::www
Slackware 13.1ではパッケージが用意されていなかったので、SlackBuilds.orgでみつけたスクリプトでビルドしました。
作ったパッケージはこんな感じ。依存関係でluaも必要になります。
ビルドするの面倒だという方はご利用ください。
lsyncd-2.0.0-i486-1rha.tgz
lua-5.1.4-i486-5_SBo.tgz