nginx 로그 분할 스 크 립 트

3795 단어
이 문 서 는 linux 분할 nginx 로그 만 을 위 한 것 입 니 다.
nginx 로 그 는 로그 분할 기능 을 자동 으로 가지 고 있 지 않 습 니 다. 스 크 립 트 분할 로 그 를 직접 작성 하고 매일 작업 에 가입 하여 정기 적 으로 로 그 를 분할, 저장, 삭제 해 야 합 니 다.
이 스 크 립 트 는 로그 분할, 저장, 삭제, 재 구축 로그 파일 을 포함 합 니 다.
 
#!/bin/bash

#date +%Y%m%d%H%M%S
YEAR=`date +%Y`
MONTH=`date +%m`
DAY=`date +%d`
HOUR=`date +%H`
MINUTE=`date +%M`
SECOND=`date +%S`

#pid path
pid_path="/portal/software/nginx/logs/nginx.pid"
#LOG path
LOGDIR=/portal/software/nginx/logs/back_up_log/
LOGDIR2=/portal/software/nginx/logs/sotp_error_log/

#  Screening log files
LOGNAME=`ls /portal/software/nginx/logs/ |grep "\.log"`
#Create the LOGDIR
#mkdir -p $LOGDIR1
#mkdir -p $LOGDIR2

#Move the log file to new position, and change the name

for i in ${LOGNAME}
do
#LOG name
LOGFILE=${i}-$YEAR"-"$MONTH"-"$DAY"-"$HOUR$MINUTE$SECOND
mv -f  /portal/software/nginx/logs/$i ${LOGDIR}/${LOGFILE} && touch /portal/software/nginx/logs/$i

done
#  reload nginx process
kill -USR1 `cat ${pid_path}`
#  remove logs 6 days ago
/usr/bin/find  $LOGDIR -name "*" -mtime +6 | /usr/bin/xargs rm -f

일상 퀘 스 트 가입
crontab -e
00 01 * * * /bin/sh /opt/cronjob/mysql_daily_backup.sh
주:  앞의 다섯 가지 항목 은 각각 시, 일, 월, 주 로 나 뉜 다.  매일 저녁 1 시 에 로그 분할 스 크 립 트 를 실행 한 다 는 뜻 입 니 다.
저장 후 crond 작업 다시 시작
/etc/init.d/crond restart
 
다음으로 전송:https://www.cnblogs.com/yxqnote/p/11425300.html

좋은 웹페이지 즐겨찾기