「◯◯時からXX時までの間のログを抽出」というような、時間で指定ができる『timegrep』コマンド
Pocket

ログを閲覧する際、「◯月◯日の◯時~☓時までの間」のログを見たいという事があるだろう。
そんな時便利なのが、今回紹介するtimegrepコマンドだ。これは、まさにその時間を指定してログを抽出することができるコマンドだ。

今回は、CentOS 7にこのコマンドをインストールして、実際に利用してみることにする。

1.インストール

まずはインストールから。以下のコマンドを実行し、実行ファイルのダウンロード、配置を行う。

git clone https://github.com/linux-wizard/timegrep
cp ./timegrep/timegrep /usr/bin/
Sponsored Links

2.コマンドの実行

さて、それでは実際にコマンドを実行してみよう。
コマンドは、以下のように実行するとよい。

timegrep -d yyyy-mm-dd --start-time=XX:XX --end-time=YY:YY ログのPATH

 

実際に実行したのがこちら。

20150325_000000

[root@dctest01 /]# timegrep -d 2015-03-23 --start-time=10:00 --end-time=11:00 /var/log/messages
Mar 23 10:01:01 dctest01 systemd: Starting Session 91 of user root.
Mar 23 10:01:01 dctest01 systemd: Started Session 91 of user root.
Mar 23 10:06:42 dctest01 smbd[15977]: [2015/03/23 10:06:42.603809,  0] ../source3/printing/print_cups.c:151(cups_connect)
Mar 23 10:06:42 dctest01 smbd[15977]: Unable to connect to CUPS server localhost:631 - 通信端点が接続されていません
Mar 23 10:06:42 dctest01 smbd[2376]: [2015/03/23 10:06:42.618926,  0] ../source3/printing/print_cups.c:529(cups_async_callback)
Mar 23 10:06:42 dctest01 smbd[2376]: failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
Mar 23 10:19:43 dctest01 smbd[15998]: [2015/03/23 10:19:43.360417,  0] ../source3/printing/print_cups.c:151(cups_connect)
Mar 23 10:19:43 dctest01 smbd[15998]: Unable to connect to CUPS server localhost:631 - 通信端点が接続されていません
Mar 23 10:19:43 dctest01 smbd[2376]: [2015/03/23 10:19:43.363890,  0] ../source3/printing/print_cups.c:529(cups_async_callback)
Mar 23 10:19:43 dctest01 smbd[2376]: failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
Mar 23 10:32:44 dctest01 smbd[16021]: [2015/03/23 10:32:44.083602,  0] ../source3/printing/print_cups.c:151(cups_connect)
Mar 23 10:32:44 dctest01 smbd[16021]: Unable to connect to CUPS server localhost:631 - 通信端点が接続されていません
Mar 23 10:32:44 dctest01 smbd[2376]: [2015/03/23 10:32:44.087023,  0] ../source3/printing/print_cups.c:529(cups_async_callback)
Mar 23 10:32:44 dctest01 smbd[2376]: failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
Mar 23 10:45:44 dctest01 smbd[16041]: [2015/03/23 10:45:44.772358,  0] ../source3/printing/print_cups.c:151(cups_connect)
Mar 23 10:45:44 dctest01 smbd[16041]: Unable to connect to CUPS server localhost:631 - 通信端点が接続されていません
Mar 23 10:45:44 dctest01 smbd[2376]: [2015/03/23 10:45:44.775951,  0] ../source3/printing/print_cups.c:529(cups_async_callback)
Mar 23 10:45:44 dctest01 smbd[2376]: failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
Mar 23 10:58:45 dctest01 smbd[16063]: [2015/03/23 10:58:45.544300,  0] ../source3/printing/print_cups.c:151(cups_connect)
Mar 23 10:58:45 dctest01 smbd[16063]: Unable to connect to CUPS server localhost:631 - 通信端点が接続されていません
Mar 23 10:58:45 dctest01 smbd[2376]: [2015/03/23 10:58:45.558747,  0] ../source3/printing/print_cups.c:529(cups_async_callback)
Mar 23 10:58:45 dctest01 smbd[2376]: failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL

 

確かに、指定した時間で抽出することができた。
一応、このコマンドが無くてもawkやsed、grepで抽出することはできるのだが、こういった専用のコマンドがある方がわかりやすいなぁ。

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

This article has 1 comments

  1. Pingback: 【コンピューター】 わたしのキャリアチェンジ (仮) // Speaker Deck 2015年03月27日 深夜便 | aquadrops * news

Leave a Comment

メールアドレスが公開されることはありません。