ファイルの変更を監視して、任意のコマンドを実行するスクリプト
d:id:hirose31:20070528:1180326347 のobserve-mtimeは、ファイルのmtimeの変更を定期的に確認してイベントを発火させてたんですが、それをLinuxのinotifyで置き換えてみました。
mtime監視だと調べてスリープしての繰り返しなので、変更してからイベントが起こせるまでちょっとタイムラグがあったんですが、inotifyを使うとファイルが変更された瞬間にぴこっとイベント発火できるのでこっちのほうがいいかも。
- http://www.linux.or.jp/JM/html/LDP_man-pages/man7/inotify.7.html
- rsync + inotify = lsyncd | スラド デベロッパー
- Linux::Inotify2
CPANにはLinux::Inotifyというのもあったのですが、$Config{archname}が/^i[456]86/だと動かなかったり(1行パッチで直せますけど)、作者が「もうアキタ だれかタノム」といってたので、Linux::Inotify2の方を使ってみました。