인생사는 이야기

[Linux] 리눅스 로그(Log) 단어,시간 단위 확인 하기, grep 본문

IT/Linux

[Linux] 리눅스 로그(Log) 단어,시간 단위 확인 하기, grep

채율파파 2012. 4. 26. 21:59
반응형

 

 

 

 

리눅스 사용을 하다보면 로그를 확인 해야 하는 경우 가있는데요.

 

특정 로그(Log)안의 자신이 원하는 단어를 입력하여 검색 하는 방법에 대해서 설명 하고자 합니다.

 

 

아파치 로그를 예로 설명 하고자 합니다. error.log

[Thu Apr 26 01:12:19 2012] [warn]mod_mp4_V2 : /경로 18, 0

[Thu Apr 26 01:12:27 2012] [warn] mod_mp4_V2 : /경로 18, 0
[Thu Apr 26 01:12:36 2012] [warn] mod_mp4_V2 : PARTIAL CONTENT /경로 /12447051
[Thu Apr 26 01:12:59 2012] [warn]mod_mp4_V2 : /경로 18, 0

[Thu Apr 26 01:13:19 2012] [warn]mod_mp4_V2 : /경로 18, 0

[Thu Apr 26 01:13:19 2012] [warn]mod_mp4_V2 : /경로 18, 0

[Thu Apr 26 01:14:19 2012] [warn]mod_mp4_V2 : /경로 18, 0

[Thu Apr 26 01:14:19 2012] [warn]mod_mp4_V2 : /경로 18, 0

[Thu Apr 26 01:15:19 2012] [warn]mod_mp4_V2 : /경로 18, 0

[Thu Apr 26 01:16:19 2012] [warn]mod_mp4_V2 : /경로 18, 0

 

 위에 표처럼 로그가 실시간으로 계속 찍히겠죠??  실제 cat 명령어로 보면 생각보다 많이 나올겁니다. 적어도 몇천줄 이상은 나오겠죠.

실시간으로 본다면 tail -f error.log 이렇게 보면 되는데 일정 시간이 지나면 문제가 있었던 곳의 로그를 확인 할 수 가 없게 됩니다.

 

그래서 우리가 원하고자 하는 부분 즉 시간때를 검색 하고자 한다면 다음과 같이 명령어를 입력하면 됩니다

EX) 로그 내용 중 [01:12:00]~[01:12:59]의 내용을 보고 싶다 라면(1시 12~13분의 데이터)

root># cat error.log | grep "[Thu Apr 26 01:1[2-3]:[0-5][0-9] 2012]"

[Thu Apr 26 01:12:19 2012] [warn]mod_mp4_V2 : /경로 18, 0

[Thu Apr 26 01:12:27 2012] [warn] mod_mp4_V2 : /경로 18, 0
[Thu Apr 26 01:12:36 2012] [warn] mod_mp4_V2 : PARTIAL CONTENT /경로 /12447051
[Thu Apr 26 01:12:59 2012] [warn]mod_mp4_V2 : /경로 18, 0

[Thu Apr 26 01:13:19 2012] [warn]mod_mp4_V2 : /경로 18, 0

[Thu Apr 26 01:13:19 2012] [warn]mod_mp4_V2 : /경로 18, 0

=======================================================================================================================

 위 와 같이 입력하니 1시 12~13분의 로그 부분만 출력 되는 것을 볼 수 있습니다.

cat 이란 명령어와 함께 grep을 사용하여 자신이 원하는 시간때의 로그를 확인 할 수 있습니다. 참 쉽죠??

이렇게 응용하여 로그를 확인 하신다면 보다 쉽게 로그를 볼수 있겠죠???

 

※ 추가 사항

- 위에 명령어로 확인 했을때 error message 갯수 확인 방법

cat error.log | grep "[Thu Apr 26 01:1[2-3]:[0-5][0-9] 2012]" | wc -l

6

- 위에 명령어로 확인 했을때 추가적으로 분리를 더 하고 싶다.

EX) 1시 12~13분 로그 내용 중  "PARTIAL CONTENT"가 찍힌 로그만 따로 보고 싶다.

cat error.log | grep "[Thu Apr 26 01:1[2-3]:[0-5][0-9] 2012]" | grep "PARRIAL CONTENT"

[Thu Apr 26 01:12:36 2012] [warn] mod_mp4_V2 : PARTIAL CONTENT /경로 /12447051

이렇게 나오겠죠?

 

위 내용에서 보는 거와 마찬가지로 | grep 을 사용하고 추가로 | grep을 사용 하실 수 있습니다. 

 

 

여기까지 타이거범의 리눅스 기초인 로그 보다 편하게 확인하기 방법 이였습니다.

 

[]중괄호 라고 해야 하나요?? 이 포스트에서 []의미를 아시면 좋을 거라고 생각합니다.

로그를 보는것은 하나의 방법일뿐 그이상은 아니지요. 제가 이 포스트에서 설명하고자 하는것은  []의 사용법입니다.

[] 사용법을 응용하셔서 사용하면 생각보다 도움이 많이 될꺼라고 생각 합니다.

 

궁금하신점은 댓글 달아 주시고요 지적은 감사히 받겠습니다.

 

 

2012/03/29 - [IT/Linux] - [Linux] 리눅스(유닉스) sed 사용

 

반응형
Comments