2013年03月28日
ライバルに差をつけろ! - Tail パワー・ツールズ 2選(Xtail, MultiTail)
tail に関しては絶対負けたくないライバルがいる・・・そんな人はいないと思いますが、利用頻度の高いtailコマンドがもっと便利に使えると聞けば興味を持つ人は沢山いるんじゃないでしょうか。
今日はtailライクな拡張コマンドを2つ紹介します。
今日はtailライクな拡張コマンドを2つ紹介します。
複数のファイルを全部まとめて tail 出来る Xtail ユーティリティ
xtail の歴史は古く、tailライクな拡張ユーティリティとしてオライリー社発行の Unixパワーツールでも紹介されているプロダクトです。
Unixパワーツール
posted with amazlet at 13.03.28
シェリー パワーズ ティム オライリー ジェリー ピーク マイク ルキダス
オライリージャパン
売り上げランキング: 555,783
オライリージャパン
売り上げランキング: 555,783
xtailには次のような特徴があります。
- ターゲットにディレクトリを指定可能
- ディレクトリを指定した場合、途中ファイルが作成された場合にも自動でターゲットに追加する
早速使ってみましょうか。プロジェクト・ホームから最新のターボール(xtail-x.x.tar.gz)をダウンロードして下さい。
xtail | Unicom Systems Development
これを解凍・ビルドします。
おっと、makeするその前にmanページのパスを変更しましょう。これをしないと”cannot create regular file `/usr/local/man/man1/xtail.1'”と怒られることになります。Makefileをエディタで開き、mandirの値を適切(/usr/share/man)な場所に変更します。
後は、make, make installすればOK。
基本的な使い方はtailと同じ。但し、ディレクトリを指定することも出来ます。
停止は Ctrl + \ (backslash) なので注意。 Ctrl + C は統計情報が出力されます。
xtailを覚えておけば隙のないログ監視が出来そうですね。
MultiTail はデスクトップでの利用を目的として作成された非常に高機能なtail拡張ユーティリティです。
Multitail
どれほどパワフルかは使ってみるのが一番。プロジェクト・ホームからtarボール(multitail-x.x.x.tgz)をダウンロードしてビルドすることも可能ですが、apt-get, yumパッケージ・マネージャーが使えるのであればもっと簡単にインストール出来ます。
まずは、基本的な使い方。この例ではauth.logにsyslogをマージ(-I)した結果をtailしています。
次の例では3つのログ・ファイルを1ウインドウ/2カラム(スプリット)で表示してくれます。
複数コマンドの実行結果をtailするのも簡単。
出力内容を評価して、条件(ex)にマッチした場合には外部コマンドを実行することも出来ます。
この例ではFATALが含まれる行が出現した場合、zenityを使って簡易ダイアログを表示していますが、メールを送信したりアイデア次第で色々出来そうですね。
xtail | Unicom Systems Development
これを解凍・ビルドします。
$ tar xvzf xtail-2.1.tar.gz
$ cd xtail-2.1
$ ./configure
おっと、makeするその前にmanページのパスを変更しましょう。これをしないと”cannot create regular file `/usr/local/man/man1/xtail.1'”と怒られることになります。Makefileをエディタで開き、mandirの値を適切(/usr/share/man)な場所に変更します。
#mandir = ${prefix}/man
mandir = /usr/share/man
後は、make, make installすればOK。
$ make
$ sudo make install
/usr/bin/install -c xtail /usr/local/bin/xtail
/usr/bin/install -c -m 644 xtail.1 /usr/share/man/man1/xtail.1
基本的な使い方はtailと同じ。但し、ディレクトリを指定することも出来ます。
$ xtail /var/log/
*** /var/log//secure ***
sshd[31819]: Accepted password for root from ::ffff:192.168.x.x port 34352 ssh2
*** /var/log//messages ***
sshd(pam_unix)[31819]: session opened for user root by (uid=0)
*** /var/log//wtmp ***
*** /var/log//lastlog ***
*** /var/log//secure ***
sshd[31819]: Received disconnect from ::ffff:192.168.x.x: 11: disconnected by user
*** /var/log//messages ***
sshd(pam_unix)[31819]: session closed for user root
指定したディレクトリ配下で変更の出たファイルだけしか監視(tail)しないのでログの圧縮ファイルがあったりしても安心。
停止は Ctrl + \ (backslash) なので注意。 Ctrl + C は統計情報が出力されます。
*** recently changed files ***
1 28-Mar-13 20:15:23 /var/log//secure
2 28-Mar-13 20:15:23 /var/log//messages
3 28-Mar-13 20:15:23 /var/log//wtmp
4 28-Mar-13 20:15:23 /var/log//lastlog
5 28-Mar-13 20:15:01 /var/log//cron
6 28-Mar-13 20:01:02 /var/log//maillog
7 28-Mar-13 20:03:09 /var/log//rpmpkgs
8 26-Mar-13 20:03:26 /var/log//prelink.log
currently watching: 48 files 1 dirs 0 unknown entrie
xtailを覚えておけば隙のないログ監視が出来そうですね。
複数ファイルの tail から Window レイアウト、カラリゼーション、トリガーまで出来る MultiTail
MultiTail はデスクトップでの利用を目的として作成された非常に高機能なtail拡張ユーティリティです。
Multitail
どれほどパワフルかは使ってみるのが一番。プロジェクト・ホームからtarボール(multitail-x.x.x.tgz)をダウンロードしてビルドすることも可能ですが、apt-get, yumパッケージ・マネージャーが使えるのであればもっと簡単にインストール出来ます。
$ sudo apt-get install multitail
まずは、基本的な使い方。この例ではauth.logにsyslogをマージ(-I)した結果をtailしています。
$ multitail /var/log/auth.log -I /var/log/syslog
テキストをカラリゼーションしてくれるので見やすくなりますね(標準のカラースキーマ設定は/etc/multitail.confファイルを編集すれば変更可能)。
次の例では3つのログ・ファイルを1ウインドウ/2カラム(スプリット)で表示してくれます。
$ multitail -s 2 /var/log/auth.log /var/log/syslog /var/log/kern.log
1ショット・3キル。楽で良いですねえ。
複数コマンドの実行結果をtailするのも簡単。
$ multitail -l "ping 8.8.8.8" -L "ping 8.8.4.4"
出力内容を評価して、条件(ex)にマッチした場合には外部コマンドを実行することも出来ます。
$ multitail -ex FATAL "zenity --info --text 'FATAL FOUND'" -i /var/log/hoge.log
詳しい使い方は Examplesページ をどうぞ。
それでは、よりパワフルなtailライフを!
仕事の速い人が使っている 問題解決フレームワーク44
posted with amazlet at 13.03.28
西村 克己
学研パブリッシング
売り上げランキング: 94,778
学研パブリッシング
売り上げランキング: 94,778
UNIXという考え方―その設計思想と哲学
posted with amazlet at 13.03.28
Mike Gancarz
オーム社
売り上げランキング: 67,259
オーム社
売り上げランキング: 67,259