lsyncdのエラー対策

電脳備忘録
ログをチェックすると、下記のエラーを吐いてlsyncdが止まっていました

Fri Mar 26 20:03:15 2010: ERROR: Initial rsync from /usr/local/www/apache22 to 192.168.1.131::wwwadmin failed.

これでは本番環境で試せないので、ググってこちらのエントリーを参照させていただきました。

# vi /etc/lsyncd.conf.xml

<settings>
    :
    :
    <stubborn/> #追加
</settings>

で、起動後再度ログを確認。ログをチェックすると下記のエラーを吐いていましたが、接続は切れていないようです。

 ERROR: Initial rsync from /usr/local/www/apache22 to 192.168.1.131::wwwadmin failed, but continuing because being stubborn.

しかし他のバグが・・・。

Tue Mar 30 09:18:23 2010: ERROR: Cannot add watch /usr/local/www/apache22 (28:No space left on device)

再度ググって調べてみるとこちらのエントリーに解決策が。さっそく参照させていただきました。
lsyncdで監視できる対象のファイル数は制限されているとのことなので、監視できるファイル数の上限を引き上げます。(8192→16384)

# cat /proc/sys/fs/inotify/max_user_watches
8192

# cp -ip /etc/sysctl.conf{,.org}

# vi /etc/sysctl.conf

下記の一文を追加して保存
fs.inotify.max_user_watches = 16394

# /sbin/sysctl -p

ためしに空のファイル「test_temp」を作ってみる。

mktemp /usr/local/www/apache22/test_temp

ログファイルの確認

Tue Mar 30 09:45:29 2010: event CREATE:test_temp triggered.
Tue Mar 30 09:45:29 2010: rsyncing /usr/local/www/apache22/ --> 192.168.1.131::w
Tue Mar 30 09:45:29 2010: event CLOSE_WRITE:test_temp triggered.
Tue Mar 30 09:45:29 2010: rsyncing /usr/local/www/apache22/ --> 192.168.1.131::w

同期先のディレクトリに「test_temp」が転送され、同期が取れていることを確認しました。

「test_temp」を削除

# rm -f /usr/local/www/apache22/test_temp

ログファイルの確認
Tue Mar 30 10:01:05 2010: event DELETE:test_temp triggered.
Tue Mar 30 10:01:05 2010: rsyncing /usr/local/www/apache22/ --> 192.168.1.131::wwwadmin/

同期先のディレクトリの「test_temp」が削除され、同期が取れていることを確認しました。

広告

ブログの維持費に充てるでございます・・・。