커피닉스, 시스템 엔지니어의 쉼터 커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
* HanIRC의 #coffeenix 방
[ 장비 및 회선 후원 ]
HOME > 네트워크(network) > 웹 서버(web, httpd, apache) 도움말
검색 : 사이트 WHOIS 웹서버 종류

WebDAV (7, 글 1, 자료 4)
웹서버 튜닝 (5, 글 4, 자료 2)
웹서버 사용 통계 자료 (2, 자료 1)
Apache SSL / mod_ssl (4, 글 3, 자료 2)

  sort명령의 활용(아파치 access log를 시간대별로 정렬) 작성일 : 2010/07/12 12:53
 
  • 글쓴이 : 좋은진호 ( http://coffeenix.net/ )
  • 조회수 : 7751
          [ 이전화면 / 수정 ]   비밀번호 :     인쇄용 화면
      제  목 : sort명령의 활용(아파치 access log를 시간대별로 정렬)
    작성자 : 좋은진호(truefeel, http://coffeenix.net/ )
    작성일 : 2010.7.9(금)


    로그 파일이 한개이면 정렬할 일이 없겠지만, 여러 대에 나눠있는 로그를 통합해야 할 경우 1) 하나로 묶은 후 -> 2) 시간대별로 정렬이 필요하다. 개인적으로는 이렇게 이용하는 경우가 없지만, sort명령을 이렇게 예술적으로 활용할 수 있구나 라는 것을 알게 될 것이다.

    jjun님이 소개해주신 sort명령이다.

     
    sort -t ' ' -k 4.9,4.12n -k 4.5,4.7M -k 4.2,4.3n -k 4.14,4.15n -k 4.17,4.18n -k 4.20,4.21n 로그파일
     


    출처 : http://www.internetofficer.com/forum/awstats-apache-installation-and-configuration/apache-logs-not-sorted-by-timestamp/

    sort명령이 너무 복잡해보이는가? 아피치 access log파일을 먼저 보면 이해할 수가 있다.

     
    aaa.bbb.ccc.ddd - - [01/Jul/2010:00:31:44 +0900] "GET / HTTP/1.1" 200 39300 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.4) Gecko/20100611 Firefox/3.6.4 ( .NET CLR 3.5.30729)"
     


    로그 정보에서 '일시'는 4번째 필드([01/Jul/2010:00:31:44)에 있다. 4번째 필드만 살펴보자.

     
    - 년 : 9~12칸
    - 월 : 5~7칸. 형식은 Jan~Dec처럼 3자리 문자열 형태이다.
    - 일 : 2~3칸
    - 시, 분, 초 : 각각 14~15, 17~18, 20~21칸
     


    sort명령 앞부분만 보자. 감이 오는가?

     
    sort -t ' ' -k 4.9,4.12n -k 4.5,4.7M
     


    1) -t ' ' : 필드의 구분을 공백으로 한다.
    2) -k 4.9,4.12n : 4.9는 4번째 필드의 9번칸, 4.12는 동일하게 12번째칸을 뜻한다. 즉, 년도에 해당하는 9칸~12칸까지를 숫자형(n)으로 정렬한다.
    3) -k 4.5,4.7M  : 같은 방법으로 월에 해당하는 5~7칸까지를 월형식(M)으로 정렬한다.
      커피닉스 카페 최근 글
    [08/25] #gpt_question_subje
    [08/20] From what I've seen
    [08/14] сайт
    [06/16] [질문]SAN 스위치 브로드케이드 dcx8510-4 장비관련입니다.
    [04/22] Re: 영화속에 컴퓨터 이야기 ~스워드피쉬(2001)
    [10/20] Cross Compiler 깔
    [07/14] SSL АО
    [04/26] Re: 도스화면 원격조종 여부
    [04/25] 도스화면 원격조종 여부
    [10/30] Cshell에서 난수 설정
    [10/23] 공항철도주식회사 SE 구인 件
    [01/26] Re: wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/25] wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/11] 특정 안드로이드 WebView 버전에서 SSL 문제 (WebView 버그)
    [08/01] DNS forwarder (전달자) 서버를 통해서 쿼리하면 역방향을 받아오질 못합니다.
      New!   최근에 등록한 페이지
      KiCad EDA Suite project (Free/Libre/Open-Source EDA Suite) (CAD)
      오픈캐스케이드 캐드 (OpenCASCADE CAD)
      QCad for Windows --- GNU GPL (Free Software)
      The Hello World Collection
      IPMI를 활용한 리눅스 서버관리
      DNS 설정 검사
      nagiosgraph 설치 방법
      Slony-I 설치 방법 (postgresql replication tool)
      Qmail기반의 Anti spam 시스템 구축하기
      clusterssh

    [ 함께하는 사이트 ]




    운영진 : 좋은진호(truefeel), 야수(yasu), 범냉이, sCag
    2003년 8월 4일~