nginx 분 단위 로 로그 자 르 기


     인터넷 에는 하늘 에 따라 일 지 를 자 르 는 사람 이 많다.그러나 응용 수요 로 인해 이 웹 서버 에 대해 더욱 상세 하 게 분석 합 니 다!그 러 니까 분 에 따라 잘라 야 돼.연구 개발 부서 의 요 구 는 로 그 를 스 캔 하 는 도구 가 있 습 니 다. 스 캔 이 끝 난 로 그 는. coplete 의 접미사 가 있 고 스 캔 이 끝 난 로 그 는 모두 history 로 이동 합 니 다.logs 중.두 개의 스 크 립 트 를 사용 하여 이 요 구 를 완성 합 니 다!
 1. 로 그 를 자 르 는 스 크 립 트 는 다음 과 같 습 니 다.
vim nginx_log.sh
#!/bin/bash
# nginx         

#         
logs_path=/opt/nginx/logs/

#  nginx       
pid_path=/opt/nginx/logs/nginx.pid

#      day
dd=`date +%F`

#       
HH=`date +%H`

#       
mm=`date +%M`
#                
mv ${logs_path}access.log ${logs_path}access-$dd-$HH-$mm.log

#              ,      nginx   
kill -USR1 `cat ${pid_path}`

 이 파일 을 / opt / nginx / sbin 디 렉 터 리 에 두 어야 직접 실행 할 수 있 습 니 다.
분당 로 그 를 자 르 기 때문에 crontab 명령 을 사용 합 니 다.
#crontab -e
\ # 이 문 구 는 1 분 에 한 번 씩 이 스 크 립 트 를 실행 하 는 것 입 니 다.
*/1 * * * * /opt/nginx/sbin/nginx_log.sh
우 리 는 logs 디 렉 터 리 에서 대량의 로그 가 발생 하 는 것 을 관찰 할 수 있 습 니 다. access - 2015 - 09 - 08 - 10 - 39. log 와 유사 한 파일 입 니 다.그들 은 이 대량의 로 그 를 스 캔 할 수 있 는 도 구 를 요구 합 니 다. 마지막 으로. coplete 파일 로 logs 와 같은 등급 의 디 렉 터 리 history 로 이동 해 야 합 니 다.logs 의 대응 날짜 중 입 니 다.
2. 스 크 립 트 이동:
vim move_logs.sh
#!/bin/bash

#        
logpath=/opt/nginx/logs/

#      
lastdd=` date -d "yesterday" +%Y-%m-%d `

#       
cd /opt/nginx/history_logs

#          
mkdir $lastdd

#                     

mv ${logpath}access-$lastdd-*.complete  $lastdd/

 이 스 크 립 트 는 매일 새벽 에 실행 되 어야 하 며 시간 이 그렇게 정확 할 필 요 는 없다.당일 로 그 를 스 캔 하 는 것 을 지체 하지 않 으 면 됩 니 다!
마찬가지 로 이 스 크 립 트 를 / opt / nginx / sbin 디 렉 터 리 에 두 어야 합 니 다.
#crontab -e
30 00 * * * /opt/nginx/sbin/move_logs.sh
내 가 정 한 시간 은 새벽 12 시 30 분 에 이동 스 크 립 트 를 실행 하 는 것 이다.
여기 서 스 크 립 트 를 분 단위 로 자 르 고 로그 파일 스 크 립 트 를 이동 합 니 다!

좋은 웹페이지 즐겨찾기