05 nginx 정시 퀘 스 트 로그 절단 완료

1915 단어 nginx
 :nginx    
(1) data
[root@localhost nginx]# mkdir /data
(2) shell
[root@localhost data]# vi runlog.sh
(3) shell

       #로그 파일 을 잘라 야 할 경로
       LOGPATH=/usr/local/nginx/logs/access.log
       #월 별로 디 렉 터 리 만 들 기
       BASEPATH=/data/$(date -d yesterday +%y%m)
       mkdir -p $BASEPATH
       #현재 로그 파일 을 현재 날짜 의 일 수 를 수정 합 니 다. 
       bak=$BASEPATH/$(date -d yesterday +%y%m%d%H%M).hgj123.com.log
       mv $LOGPATH $bak
      #로그 파일 다시 만 들 기
      touch $LOGPATH
      #nginx 신 호 량 재 실행 로그 다시 읽 기  [따옴표 조심!]
      kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
   (3) 집행
       sh  runlog.sh
    (4) 정시 퀘 스 트
       crontab -e 
       #코드 를 작성 하 다
        */1  * * * * sh data/runlog.sh
       /*주의 점
          01 00 * * * /xxx/path/b.sh  매일 0 시 1 분 (02 - 04 시 사이 에 시스템 부하 가 적 음 을 권장 합 니 다)
      */
 ---------------------------------------------------------------------------------------------------------
새 셸 스 크 립 트 이름 은 runlog. sh 입 니 다.
\ # 셸 스 크 립 트 정의
#!/bin/bash
\ # 루트 디 렉 터 리 에 있 는 로그 파일 가 져 오기
LOGPATH=/usr/local/nginx/logs/z.com.access.log
\ # 현재 날 짜 를 가 져 오고 폴 더 를 바 꿉 니 다.
BASEPATH=/usr/local/nginx/data/$(date -d yesterday +%Y%m)
mkdir -p $BASEPATH
\ # 현재 달의 폴 더 에 로 그 를 저장 합 니 다.
bak=$BASEPATH/$(date -d yesterday +%d%H%M).z.com.access.log
mv $LOGPATH $bak
\ # 새 로그 파일 을 다시 만 듭 니 다.
touch $LOGPATH
\ # nginx 에 신 호 를 다시 보 내 고 로그 파일 을 다시 읽 습 니 다.
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
 
-------------------------
crontab 타이머 작성
*/1 * * * * sh /usr/local/nginx/data/runlog.sh
시간 대별 해 월 주
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

좋은 웹페이지 즐겨찾기