리눅스 사용을 하다보면 로그를 확인 해야 하는 경우 가있는데요.
특정 로그(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 |