Nginx 로그 정시 절단

1815 단어
nginx 의 로그 파일 을 처리 하지 않 으 면 점점 커 질 것 입 니 다. 우 리 는 nginx 로그 절단 스 크 립 트 를 써 서 로그 파일 을 자동 으로 자 를 수 있 습 니 다.
첫 번 째 단 계 는 입 니 다. 이름 을 바 꾼 후 nginx 에서 로그 파일 을 찾 지 못 해 로 그 를 잃 어 버 릴 염려 는 없습니다. 로그 파일 앞 에 nginx 또는 이름 을 바 꾼 파일 입 니 다. Liux 는 파일 이름 이 아 닌 파일 설명 자 를 사용 합 니 다.
두 번 째 단 계 는 nginx 메 인 프로 세 스에 USR 1 신 호 를 보 냅 니 다.
nginx 는 신 호 를 받 으 면 설정 파일 에서 로그 파일 이름 을 읽 습 니 다. 로그 파일 (설정 파일 의 로그 이름 으로) 을 열 고 작업 프로 세 스 의 사용 자 를 로그 파일 의 소유자 로 합 니 다.
로그 파일 을 다시 열 면 nginx 메 인 프로 세 스 는 작업 프로 세 스에 게 새로 열 린 로그 파일 을 사용 하 라 고 알 립 니 다.
작업 프로 세 스 .
그리고 오래된 로그 파일 을 처리 할 수 있 습 니 다.
nginx 로 그 는 날짜 에 따라 스 크 립 트 를 자동 으로 자 릅 니 다 cutnginx_log. sh 는 다음 과 같 습 니 다.

#!/bin/bash
#by www.elesos.com
 
#          
logs_path="/opt/nginx/html/"
#  pid  
pid_path="/opt/nginx/logs/nginx.pid"
#        

mkdir-p${logs_path}$(date-d"yesterday" +"%Y")/$(date-d"yesterday" +"%m")/
#       
mv ${logs_path}elesos.com.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/elesos.com_$(date -d "yesterday" +"%Y%m%d").log
mv${logs_path}elesos.com.log ${logs_path}$(date-d"yesterday" +"%Y")/$(date-d"yesterday" +"%m")/elesos.com_$(date-d"yesterday" +"%Y%m%d").log# nginx            
kill-USR1`cat${pid_path}`


위의 로그 파일 이름 을 당신 의 것 으로 수정 하 는 것 을 주의 하 세 요.
그리고 crontab 설정 작업 을 통 해 Linux 계획 작업 cron 사용 안내 참조
0 0 * * * bash /usr/local/nginx/nginx_log.sh

이렇게 하면 매일 0 시 0 분 에 nginx 로 그 를 날짜 형식 으로 바 꾸 고 오늘 의 새 로그 파일 을 다시 생 성 합 니 다.

좋은 웹페이지 즐겨찾기