理想未来ってなんやねん

娘可愛い。お父さん頑張る。

inotail -- パフォーマンスが良いtailコマンド

tailコマンドにfオプションを付けると、ファイルの内容がどんどん増えて続けているものと仮定し、ファイルの最終部分の文字を読み続けます。


通常のtailコマンドでは定期的にポーリングを行って差分をとりますが、ポーリングでは最短でもポーリング間隔毎にしか更新が行われず、又、更新が行われていない場合でもチェックが行われるので多少なりとも負荷がかかります。


inotailは2.6.13以降で組み込まれているinotifyにより、ファイルシステムのイベントを検知してファイルが変更されたときに入出力を行います。
その為、tailより負荷が小さくて済むメリットがあります。

インストール方法

ダウンロードしてmake installするだけ。

$ wget http://distanz.ch/inotail/inotail-0.5.tar.gz
$ tar xvzf inotail-0.5.tar.gz
$ cd inotail-0.5
$ make
$ sudo make install

使い方

tailコマンドと同じように使う。

# inotail -f /var/log/httpd/access_log


尚、2009年08月20日にリリースされたcoreutils 7.5以降のtailコマンドではinotifyに対応しているとの事です。


RHEL/CentOS 6からはcoreutils 8.4以降のバージョンが使われるようなので、必要なのは今だけかもしれませんね。