5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

特定の時間より後のログを確認したい

Posted at

例えば、サーバ再起動した時間の後のログだけをチェックしたいというときなど、
特定の時間の後のログだけチェックしたいというとき、どうやってgrepすればよいんだろうか。

例えば、apacheのcmbined形式のログで2015年7月26日18時45分以降のログだけを表示させたいとかっていうとき、
どんな風に書けば効率がいいのだろうか?

comined形式の例

192.168.1.1 - - [26/Jul/2015:22:51:46 +0900] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

以下のような感じで書いてみた


grep '\[27\/May\/2015' access_log-20150531 | grep -v '\[27\/May\/2015:0' | grep -v '\[27\/May\/2015:1[0-7]' | grep -v '\[27\/May\/2015:18:[0-3]' | grep -v '\[27\/May\/2015:18:4[0-4]'

それぞれのgrepの役割は以下
1:その日のログだけ抽出
2:0時台のログを除外
3:10時~17時台のログを除外
4:18時0~30分台のログを除外
5:18時40~44分台のログを除外

一応できたけど、とっさに確認したい時などはこんな長いコマンド考えているよりも、
素直に目grepしたほうが速そうな気もします・・・。

他にもっと良い方法ないのでしょうか。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?