nginx 접근 로그 파일 자동 절단

1515 단어 nginx->기초
더 읽 기
1. 필요 한 배경
       생산 환경 에서 nginx 서버 는 로그 파일 의 증가 가 빠 르 기 때문에 access로그 로그 파일 이 너무 크 면 로그 기록 성능 에 심각 한 영향 을 줄 수 있 습 니 다.또한 방문 로 그 를 분석 하 는 데 편리 하도록 로 그 를 정기 적 으로 절단 해 야 합 니 다.정시 절단 방식 은 주로 월 별로 절단 하고 날짜 에 따라 절단 하 며 시간 에 따라 절단 하 는 등 방안 이 있 습 니 다. 구체 적 인 절단 방안 은 온라인 서버 의 방 문 량 에 따라 정 할 수 있 고 보통 날짜 에 따라 정시 절단 을 할 수 있 습 니 다.
 
2. 실현 절차
    수 동 조작 순서:
#       
 mv /usr/local/nginx/logs/access_log /usr/local/nginx/logs/access_log_20160625.log
#  Nginx     USR1            
 kill -USR1 Nginx    
  
 kill -USR1 'cat /usr/local/nginx/logs/nginx.pid'

   
   자동 조작 절차: crontab 를 통 해 완성 해 야 합 니 다.
#  1:         shell  (       00:00  )
  vi /usr/local/nginx/sbin/cut_nginx_log.sh
        :
  #!/bin/bash
  #Nginx            
  nginx_access_log_path="/usr/local/nginx/logs/"
  #      
   mkdir -p ${nginx_access_log_path}${date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
 mv ${nginx_access_log_path}access.log ${nginx_access_log_path}${date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log
   kill -USR1 'cat /usr/local/nginx/log/nginx.pid'
  
#  2:  crontab        
  crontab -e
           :
  00 00 * * * /bin/bash  /usr/local/nginx/sbin/cut_nginx_log.sh

좋은 웹페이지 즐겨찾기