EC2編~lsyncdでリアルタイムにファイル同期①~

こんにちは! JQです。

前回は『 EC2編~sudo権限~ 』 ということで、ec2-userのsudo権限を制限してみました。

今回は『EC2編~lsyncdでリアルタイムにファイル同期①~』と題して、lsyncdを利用してフォルダ間の自動同期処理してみたいと思います。

インストール

1.lsyncdのインストール

先ずはインストールを行います。

EPELリポジトリを利用してインストールします。

1$ sudo yum install --enablerepo=epel lsyncd2Loaded plugins: priorities, update-motd, upgrade-helper34amzn-main/latest                                                                                                              | 2.1 kB     00:005amzn-updates/latest                                                                                                           | 2.3 kB     00:006epel/x86_64/metalink                                                                                                          | 6.6 kB     00:007epel/x86_64                                                                                                                   | 4.2 kB     00:008epel/x86_64/group_gz                                                                                                          | 237 kB     00:009epel/x86_64/updateinfo                                                                                                        | 724 kB     00:0010epel/x86_64/primary_db                                                                                                        | 5.7 MB     00:0111epel/x86_64/pkgtags                                                                                                           | 745 kB     00:0012643 packages excluded due to repository priority13------

2.設定ファイルの編集

先ずはテスト用のディレクトリを作成します。

1$ sudo mkdir /test2$ sudo mkdir /usr/local/test

続いて設定ファイルの編集を行います。

1$ sudo vim /etc/lsyncd.conf2settings{3        statusFile = "/tmp/lsyncd.stat",4        logfile = "/var/log/lsyncd/lsyncd.log",5}67sync {8   default.rsync,9   source = "/usr/local/test/",10   target = "/test/"11}

サービスを起動します。

1$ sudo /etc/rc.d/init.d/lsyncd start2$ sudo chkconfig lsyncd on

3.確認

それでは実際に試してみます。

先ずはフォルダが空なのを確認します。

1$ ls /test/2$ ls /usr/local/test/

ログも確認してみます。

1$ tail /var/log/lsyncd/lsyncd.log2Wed Dec 18 11:04:07 2013 Normal: recursive startup rsync: /usr/local/test/ -> /test/3Wed Dec 18 11:04:07 2013 Normal: Startup of "/usr/local/test/" finished.

ファイルを作成してみます。

1$ sudo touch /usr/local/test/test.txt2$ ls /usr/local/test/3test.txt

同期先を確認してみます。

1$ ls /test/2test.txt

ログを確認してみましょう。

1$ tail /var/log/lsyncd/lsyncd.log2Wed Dec 18 11:04:07 2013 Normal: recursive startup rsync: /usr/local/test/ -> /test/3Wed Dec 18 11:04:07 2013 Normal: Startup of "/usr/local/test/" finished.4Wed Dec 18 11:05:04 2013 Normal: Calling rsync with filter-list of new/modified files/dirs5/test.txt6/

ファイルが作成された事を検知して同期されています!

いかがでしたでしょうか?

次回は『 EC2編~lsyncdでリアルタイムにファイル同期②~ 』と題しまして、lsyncdを利用して別サーバ間で自動同期処理してみたいと思います。

お楽しみに!

この記事を書いた人

aws-recipe-user