lsyncでリアルタイムファイル同期

lsyncを使うことでリアルタイムにファイルを同期することができます。
ファイルやディレクトリの同期を行うコマンドであるrsyncと組み合わせることによって使用します。

rsyncは多くの場合デフォルトでインストールされているので、まずlsyncをインストールします。
amazon linuxの場合、デフォルトのリポジトリには存在しないのでepelリポジトリを利用します。

yum install --enablerepo=epel lsyncd

/usr/share/doc/lsyncd-..*/examples/下に設定サンプルが置かれるのでこれを参考に設定ファイルを編集します。

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

sync{
        default.rsync,
        source="/path/to/source/",
        target="/path/to/target/"
}
-------------------------------------------------------------

source=” “で同期元のディレクトリを、target=” “で同期先のディレクトリを指定します。
設定ファイルが書けたらlsyncを起動します。

service lsyncd start
chkconfig lsyncd on

以上で同期元のディレクトリに変更があれば同期先のディレクトリに変更が同期されるようになります。
リモートで同期を行うにはsshで同期元から同期先へ公開鍵認証でログインできるように設定しておき、 lsyncの設定を以下のように行います。

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

sync{
        default.rsyncssh,
        source="/path/to/source/",
        host="同期先のip"
        targetdir="/path/to/target/"
}
-------------------------------------------------------------

targetがtargetdirに変わっていることに注意してください。

AWSを利用した導入事例のご紹介

実際に構築を行ったAWSの事例を紹介しています。導入の目的に近い事例をご覧いただくと、実際の構成例やメリット、注意点などが把握できます。

ブックオフコーポレーション株式会社様
第一生命保険株式会社様
株式会社電通様
株式会社LIFULL様
株式会社リブセンス様
TBSアナウンス部様
明治大学様
拓殖大学様