こんにちは! JQです。
前回は『 EC2編~lsyncd~ 』 ということで、lsyncdを利用してフォルダ間の自動同期処理をしてみました。
今回は『EC2編~lsyncd2~』と題して、lsyncdを利用して別サーバ間で自動同期処理してみたいと思います。
※今回はrsyncをたてずにSSHで行います。
SSH設定
1.SSH設定
今回はテストの為、rootを利用します。
※本来であればrsync専用ユーザーを作成してsudoなどでrsyncを許可する等がいいと思います。
同期元でキーの作成
1# ssh-keygen -t rsaパブリックキーを取得します。
1# cat .ssh/id_rsa.pub取得したキーを同期先のauthorized_keysに登録します。
1# vim ~/.ssh/ authorized_keysまた、rootログインを許可するように変更します。
1# vim /etc/ssh/sshd_config2PermitRootLogin yes34# /etc/rc.d/init.d/sshd restart56Stopping sshd: [ OK ]7Starting sshd: [ OK ]実際に同期元から接続して試してみます。
1# ssh root@[同期先]ログイン出来れば成功です。
2.lsyncdの設定
続いてlsyncdの設定を変更します。
下記では/test/ディレクトリを同期します。
1settings{2 statusFile = "/tmp/lsyncd.stat",3 logfile = "/var/log/lsyncd/lsyncd.log",4}56sync {7 default.rsyncssh,8 source = "/test/",9 host = "同期先",10 targetdir = "/test/",11 rsync = {12 archive = true13 }14}再起動を行います。
1# /etc/rc.d/init.d/lsyncd restart2Stopping lsyncd: [ OK ]3Starting lsyncd: [ OK ]3.確認
同期元でファイルを作成してみます。
1# touch /test/test.txt実際にログを確認します。
1# tail /var/log/lsyncd/lsyncd.log –f2Thu Dec 26 10:14:40 2013 Normal: Rsyncing list3/test.txt4Thu Dec 26 10:14:40 2013 Normal: Finished (list): 0異なるサーバ間でも同期が出来ています。
いかがでしたでしょうか?
次回はruby SDKを利用してスナップショットを別リージョンにコピーしたいと思います。。
お楽しみに!