NAME

logdo - ログファイルの監視と選択的なログ出力のパイプ入力によるコマンド実行

SYNOPSIS

logdo {[-w wait] [-n nlines] [-s script] [-v vregex] regex filename}..

logdo {[-w wait] [-n nlines] [-s script] [-v vregex] regex filename}.. -C config [-q]

logdo [OPTIONS] -c config

DESCRIPTION

logdo(1) コマンドはログファイル filename を監視し、そのログ出力で 正規表現 regex にマッチするログ出力をパイプ入力とするコマンド scriptwait 秒毎に実行します。

複数の、通常のオプション OPTIONS と引数 regex および filename のセットは並列実行されます。

OPTIONS

-w wait

コマンドを実行する周期(秒)を指定します。既定値は1秒です。

-n nlines

既に出力された nlines 行のログを処理します。既定値は0行です。

-s script

追記されるログをパイプ入力とするコマンドを指定します。例えば、cat を指定すると、追記されるログが標準出力に表示されます。

-v vregex

追記されるログのうち、正規表現 vregex にマッチする行を処理しません。

ADDITIONAL OPTIONS

-C config

オプションと引数 regex, filename のセットを config ファイルに保 存します。

-q

オプション処理中に終了します。オプションと引数によって生成された config ファイルを実行せずに保存する場合に有用です。

-c config

保存された config ファイルから wait, script, vregex, regex, filename の複数のセットを並列実行します。

ARGUMENTS

regex

追記されるログのうち、正規表現 regex にマッチする行のみ処理します。

filename

ログファイルを指定します。

EXIT STATUS

正常終了時に 0 を返します。さもなくば、0以外を返します。

EXAMPLES

例えば、/var/log/secure.log の ' sshd' にマッチするログを30分毎に監視したい場合、 以下のように実行すると /var/log/secure.log に追記された、 正規表現 ' sshd' にマッチする行が foo@example.com に 'mailx' コマンドで送られます。

$ logdo -w 1800 -s 'mailx foo@example.com' ' sshd' /var/log/secure.log

加えて、/var/log/git-daemon.log の 'Connection from ' にマッチし、 '(127\.0\.0\.1|192\.168\.)' にマッチしないログを24時間毎に監視したい場合、 以下のように実行すれば同様に foo@example.com に送られます。

$ logdo -w 1800 -s 'mailx foo@example.com' ' sshd' /var/log/secure.log \
-w 86400 -s 'mailx foo@example.com' -v '(127\.0\.0\.1|192\.168\.)' 'Connection from ' /var/log/git-daemon.log

このように、監視するログファイルとその監視方法のセットは、 いくつでも指定できます。しかし、いささか繁雑です。

よって、以下のように '-C logdo.xml -q' を末尾に加えて実行すると、 コマンドラインの設定が logdo.xml に保存され、即座に終了します。

$ logdo -w 1800 -s 'mailx foo@example.com' ' sshd' /var/log/secure.log \
-w 86400 -s 'mailx foo@example.com' -v '(127\.0\.0\.1|192\.168\.)' 'Connection from ' /var/log/git-daemon.log \
-C logdo.xml -q

次からは、以下のように '-c logdo.xml' のみオプションに指定すれば、 以上の設定でログの監視が実行されます。

$ logdo -c logdo.xml

AUTHOR

COPYING

Copyright (C) 2009 Taiji Yamada. Free use of this software is granted under the terms of the GNU General Public License version 3 (GPLv3) or (at your option) any later version.