lcync on centos5系 (前篇)
広瀬アリスさん、いつぞやに登場したすずちゃんの姉ですね。
この姉妹は本当にかわいい
前置
そもそもlsyncとはリアルタイムでファイルの同期をしてくれるものです。
今回は、諸事情によりcentos5系で、動かす実践を行いたいと思います。
5系では、lsyncの2.0.7を使用します。2.1系は相性が悪いっぽいです。
接続元の設定
lsyncと関連物のダウンロード
sudo su - wget --no-check-certificate https://www.atomicorp.com/channels/source/atomic-release/atomic-release-1.0-16.el5.art.noarch.rpm rpm -Uvh atomic-release-1.0-16.el5.art.noarch.rpm yum install lua-devel wget --no-check-certificate https://github.com/downloads/axkibe/lsyncd/lsyncd-2.0.7.tar.gz tar zxvf lsyncd-2.0.7.tar.gz cd lsyncd-2.0.7 ./configure && make && make install
設定
vim /etc/lsyncd.conf settings = { logfile = "/var/log/lsyncd.log", statusFile = "/tmp/lsyncd.stat", nodaemon = false } sync { default.rsync, source="/var/upload/", target="xx.xxx.xx.xx::data/", rsyncOpts = { "-av", "--delete" } } vim /etc/rc.d/init.d/lsyncd #!/bin/bash # # lsyncd # # chkconfig: - 99 20 # description: lsyncd auto start script start() { /usr/local/bin/lsyncd /etc/lsyncd.conf } stop() { /bin/kill -9 `/sbin/pidof lsyncd` until [ -z $(/sbin/pidof lsyncd) ]; do :; done } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) pid=`pidof lsyncd` if [ $? -eq 0 ]; then echo "lsyncd (pid $pid) is running..." else echo "lsyncd is not running" fi ;; *) echo "Usage: lsyncd {start|stop|restart|status}" exit 1 esac exit $?
権限から起動まで
#権限付与 chmod +x /etc/rc.d/init.d/lsyncd #lsyncd起動スクリプトをchkconfigへ登録 chkconfig --add lsyncd #lsyncd自動起動設定 chkconfig lsyncd on #起動 /sbin/service lsyncd restart
その他
memoryがずっと常駐していると、メモリリークになる恐れがあるので、
cronで毎日一回メモリーを解放をしたほうがよい(推奨)
#毎日一回 メモリーを解放してあげる 0 1 * * * /sbin/service lsyncd restart