rcmdnk's blog
Last update

20160306_multitail

tail -fとかのコマンドでログ等のアウトプットを プロンプト上に表示させ続ける事が出来ますが、 MultiTail というコマンドを使うと 複数のログを一つのコマンドで一気に表示し追い続ける事が出来ます。

Multitail

インストール

インストールは

Macなら、

$ brew install multitail

Linuxとかなら

$ yum install multitail

または

$ apt-get install multitail

等。

Cygwinなら

$ apt-cyg install multitail

もしくは自分で Download してコンパイル。

主な起動方法

インストールするとmultitailというコマンドが使えるようになります。

基本的な使い方は

$ multitail a.txt b.txt

と、複数見たいファイルを与えます。 与えたファイルをtail -fしたような状態で縦に分割して表示します。

横並びにしたい時は

$ multitail -s 2 a.txt b.txt

とします。-sに与える数は与えるファイルの数以下で。 例えば

$ multitail -s 3 a.txt b.txt c.txt

とすれば3つ横並びになり、

$ multitail -s 2 a.txt b.txt c.txt

とすると横に2分割され、右側にb.txtc.txtが縦に分割されて表示されます。 ファイル数より大きな数を指定すると指定なし同様全部縦に分割されてしまいます。

2つのファイルをマージして表示したい場合には-Iを付けて続けます。

$ multitail a.txt -I b.txt

これで、a.txtb.txtの内容が一緒になって出力されます。

-lを使うとコマンドの表示を渡すことも出来ます。

 $ multitail -l "ping localhost" -l "ping 8.8.8.8"

起動中のコマンド

  • q/x

qまたはxを押すと終了します。 色々起動中に行える事はありますが取り敢えず最低限これだけ覚えておけば、と。

  • Enter、及び数字

Enterを押すと全ての表示中のウィンドウに時刻を含む ラインを入れる事が出来ます。

01などウィンドウ番号を押すとそのウィンドウだけにラインを入れることが出来ます。

  • v

縦分割、横分割の切り替えはvを押すと出来ます。 縦から横にする時には分割する数を聞かれるのでファイル数以下の数字を入力。

  • /

/を押すと検索が出来、表示中の中から該当する行を拾ってこれます。

  • n

nを押してウィンドウを選ぶとそのウィンドウをクリアすることが出来ます。

  • b

bを押してウィンドウを選ぶとそのウィンドウの遡って見ることが出来ます。 ただし、デフォルトは100行しか保存しないので、 多く保存したい場合は

$ multitail -m 1000 a.txt b.txt

または

$ multitail -M 1000 a.txt b.txt

-mまたは-Mで行数を指定。 -mはその直後のファイルだけに適用され、 -Mは全てのファイルに適用されます。

20160306_multitail.gif

他にも沢山ありますがこの位知っておけば十分かな、と。

まとめ

multitailはかなり高機能で起動中にも色々と操作することが出来ますが、 取り敢えず複数のファイルを一気に表示する、 というところだけ覚えておけばかなり便利に使えると思います。

コマンドを見る-lも意外と使えます。

GNU screenやtmuxで画面分割しておいてそれぞれでtailするのも良いですが、 見るものが決まっていれば一発コマンドで複数立ち上げられるのは結構便利です。

-lに対してsshとコマンドを組み合わせて使えば 複数のサーバーのログを一箇所から一つのコマンドで同時に監視、 なんてことも出来たりします。

$ multitail -l 'ssh server1 "tail -f ~/log"' -l 'ssh server2 "tail -f ~/log"'

みたいな。

追記: 2016/03/07

ディレクトリを丸ごと監視したい時なんかはxtailというコマンドも便利です。

追記ここまで

Sponsored Links
Sponsored Links

« BetterTouchToolの有料化にあたり xtail: 複数のファイルを同時監視してアップデートを表示 »

}