>  기사  >  백엔드 개발  >  nginx 로그 분할 스크립트

nginx 로그 분할 스크립트

WBOY
WBOY원래의
2016-08-08 09:32:37801검색
#!/bin/bash
# 01 00 * * * /nginxlogs/ngx_logcut.sh >/dev/null 2>&1 ##예약된 작업에 배치하여 스크립트를 자동으로 실행할 수 있습니다

pidfile=/var/run/nginx.pid #nginx 프로세스 pid 파일

logpath='/nginxlogs/' #로그 디렉터리

Keepdays = 30 #저장일수 기록

logfiles = (error.log access.log) # >cd $logpath #로그 디렉토리 입력

${logfiles[@]}의 로그 파일에 대해 배열 형식으로 if [ ! -e $logfile ]; > fi find . -type f -name $logfile "20*" -mtime +$keepdays -exec rm {} ; #기준에 맞는 로그를 찾아 삭제합니다.

mv $logfile $logfile$(date - d "어제" +"%Y%m%d") #어제 로그를 로그 이름 + 날짜 형식으로 변경 done
kill -USR1 `cat $pidfile` ##USR1은 일반적으로 예를 들어, nginx 서버가 USR1 신호를 보내면 새 연결 수락을 중지하고, 현재 연결이 중지될 때까지 기다린 후, 구성 파일을 다시 로드하고, 로그 파일을 다시 열고, 다시 시작하는 단계가 발생합니다. 서버를 종료하지 않고도 비교적 원활한 변경이 가능합니다


위 내용은 내용의 측면을 포함하여 nginx 로그 분할 스크립트를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.