こんにちは! 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 on3.確認
それでは実際に試してみます。
先ずはフォルダが空なのを確認します。
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を利用して別サーバ間で自動同期処理してみたいと思います。
お楽しみに!