はじめまして。佐々木です。
ブログ書くべきと言い出したわりに、なかなか投稿しない悪い奴という汚名がつきそうになったので、とりあえず軽いネタをご紹介したいと思います。
lsyncdを実運用していると一時的なネットワーク通信断などが発生した場合、稀にrsyncプロセスが途中で止まってしまい、残ってしまうことがあります。
この現象が発生すると、次にファイルが更新された時でも前のプロセスが終わるまで待ち状態となり同期が停止してしまいます。
この問題はrsyncのオプションでtimeoutおよびcontimeoutを指定すると回避することができます。
lsyncd.confから設定する場合は、_extraで指定すればよいです。
以下に、設定例を記載します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
sync = { default.rsync, delete = true, target = "target-server::dest_path/", rsync={ archive = true, owner = true, compress = true, _extra = { "--timeout=600", "--contimeout=60", }, }, } |
–timeoutは転送のタイムアウト値。–contimeoutはrsyncデーモンに接続する場合のタイムアウト値です。
上記設定を行っておけば、何らかの状況により同期が止まってしまった場合でも、指定時間でタイムアウトが行われ継続して同期が行われるようになります。
以上、小ネタではありますがlsyncdに関する設定のご紹介でした。
この記事を書いた人

-
高校時代より独学でC、アセンブラを学ぶ。
パソコンスクール講師 → カノープス株式会社(現グラスバレー、MEDIAEDGE)を経て、当時の取締役の誘いでパクレゼルヴに入社する。
事業分社以前は事業部を統括。現グルーポン・ジャパン立ち上げ時のサーバーインフラなども担当。
分社化後は現社長の的場大昌に委ね技術者として専念する。
趣味は週末娘と遊ぶこと。
最新記事
開発日誌2015.02.12lsyncdを複数起動する
開発日誌2015.01.27lsyncdで複数サーバーをターゲットに同期する際のtips
開発日誌2015.01.26lsyncdを使う時はtimeoutを設定しましょう