고성능 서버 - Nginx 로그 절단

5489 단어
목차
  • 1. 로그 절단 이 무엇 입 니까
  • 2. 로그 절단 을 왜 하 는 지
  • 3. 로그 절단 의 수 동 실현
  • 4. 로그 절단 스 크 립 트 구현
  • 1. 로그 절단 이란 무엇 인가
    로그 절단 은 시스템 로 그 를 하늘 단위 로 저장 하 는 것 입 니 다.
    2, 왜 로그 절단
  • 기업 에서 매일 로그 파일 을 포장 하고 백업 해 야 합 니 다. 로그 절단 을 하지 않 으 면 로그 파일 이 누적 되 고 로그 파일 이 클 때 vim 이 열 릴 때 끊 길 수 있 습 니 다.
  • 로그 절단 은 잘못 배열 하 는 데 유리 하고 어느 날 의 문제 가 있 으 면 해당 하 는 로 그 를 찾 아 보 는 것 이 편리 하고 빠르다.

  • 3. 로그 절단 의 수 동 실현
    Nginx 서버 의 로그 종류:
  • access.log: Nginx 서버 에 성공 적 으로 접근 한 로그 정보 저장
  • error.log: Nginx 서버 에 접근 하지 못 한 로그 정보 저장
  • nginx.pid: Nginx 프로 세 스 를 저장 하 는 pid 는 엄 밀 히 말 하면 로그 가 아 닙 니 다.

  • 서버 에서:
    cd /usr/local/nginx/
    cd logs/
    ls	##      
    

    클 라 이언 트 에서 (실제 컴퓨터):
    ab -c 1 -n 10000 http://www.yang.org/index.html	#     10000 
    

    서버:
    du -sh access.log 	##        
    mv access.log `date +%F -d -1day`_access.log	##    ,      ,    “  _access.log”
    nginx -s reopen		##      access.log  
    

    4. 로그 절단 스 크 립 트 구현
    매일 수 동 으로 로 그 를 캡 처 하고 이름 을 바 꾸 는 것 이 불편 합 니 다. 그래서 우 리 는 스 크 립 트 를 만 들 고 정기 적 인 작업 을 해서 반복 작업 을 합 니 다.
    서버 에 스 크 립 트 쓰기:
    cd /usr/local/nginx/logs
    vim backup.sh
    ##  
    #!/bin/bash
    LOGS_PATH=/usr/local/nginx/logs/oldlogs
    CUR_LOGS_PATH=/usr/local/nginx/logs
    YESTERDAY=$(date +%F -d -1day)
    
    mv $CUR_LOGS_PATH/access.log $LOGS_PATH/${YESTERDAY}_access.log
    mv $CUR_LOGS_PATH/error.log $LOGS_PATH/${YESTERDAY}_error.log
    
    /usr/local/nginx/sbin/nginx -s reopen
    

    권한 설정, 디 렉 터 리 만 들 기:
    chmod +x backup.sh
    mkdir oldlogs
    

    스 크 립 트 를 실행 하고 로그 가 자동 으로 백업 을 자 르 는 지 확인 합 니 다.
    ./backup.sh 
    cd oldlogs/
    ll		##               
    

    정시 작업 작성: 서버 가 매일 00 시 정각에 로그 절단 을 할 수 있 도록 합 니 다:
    crontab -e
    ##  :
    0 0 * * * /bin/bash /usr/local/nginx/logs/backup.sh
    
    crontab -l		##      ,          
    

    좋은 웹페이지 즐겨찾기