인생사는 이야기
[Linux] 리눅스 로그(Log) 단어,시간 단위 확인 하기, grep 본문
리눅스 사용을 하다보면 로그를 확인 해야 하는 경우 가있는데요.
특정 로그(Log)안의 자신이 원하는 단어를 입력하여 검색 하는 방법에 대해서 설명 하고자 합니다.
아파치 로그를 예로 설명 하고자 합니다. error.log
[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 사용
'IT > Linux' 카테고리의 다른 글
[Linux] clusterssh (0) | 2012.04.28 |
---|---|
[Linux] 리눅스 호스트네임(hostname) 변경 (2) | 2012.04.27 |
[Linux] 실제 메모리 사용량 보기 , free (12) | 2012.04.21 |
[Linux] 하드 디스크 검사 유틸 smartctl (2) | 2012.04.20 |
[Linux] 파일시스템 라벨 변경(e2label) (0) | 2012.04.12 |