Nginx 로그 절단 - 시간 당
4878 단어 Nginx
최근 디 버 깅 인터페이스, ip 권한 부여, nginx 로 그 를 보 는 것 과 관련 되 었 습 니 다. 그러나 매일 데이터 양 이 너무 많아 서 현장에서 로 그 를 내 보 내 는 것 이 너무 힘 들 고 시간 이 너무 길 어서 로 그 를 자 르 는 시간 을 생각 했 습 니 다!
의 원리
사실 원 리 는 간단 합 니 다. 셸 스 크 립 트 스 크 립 트 스 크 립 트 를 시간 에 따라 이름 을 바 꾸 고 저장 하 는 것 입 니 다.
셸 스 크 립 트
#!/bin/bash
# Every hour running time.
# by bobliu.
# The Nginx logs path
log_year=$(date +"%Y")
log_month=$(date +"%m")
log_day=$(date +"%d")
log_hour=$(date +"%H")
log_min=$(date +"%M")
logs_path="/usr/local/nginx/logs/"
save_path="/usr/local/nginx/logs/log"
if [ ! -d "$save_path" ]; then
mkdir -p "$save_path"
fi
mv ${logs_path}access.log ${save_path}access_${log_year}${log_month}${log_day}_${log_hour}_${log_min}.log
if [ $log_hour = 00 ]; then
mv ${logs_path}error.log ${save_path}error_$log_year$log_month$log_day.log
fi
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
이 내용 은 sh 파일 에 저 장 됩 니 다. 파일 이름 은 logs. sh 입 니 다.
주의: 만약 sh 파일 이 윈도 우즈 개발 에서 작성 되 었 다 면, linux 환경 에 업로드 되 었 을 때, "syntax error: unexpected end of file" 이 나타 나 면 컴 파일 할 수 없 을 수도 있 습 니 다. 따라서 다음 과 같은 몇 가지 작업 을 해 야 합 니 다
vim logs.sh
vim 명령 이 잘못 되면 다음 명령 을 입력 하 십시오. 이 항목 을 편집 하여 무시 할 수 있 습 니 다.
yum -y install vim-enhanced
:set fileformat=unix
:wq
스 크 립 트 검증
스 크 립 트 가 실행 가능 한 지 확인 하고 다음 명령 을 입력 하여 스 크 립 트 가 실행 가능 한 지 확인 하 십시오.
sh logs.sh
정시 설정
마지막 으로 이 스 크 립 트 를 Liux 의 정시 작업 으로 만 듭 니 다.
crontab -e
5 * * * * sh /usr/local/nginx/logs/logs.sh
: wq 로 설정 하여 저장 하고 검증 이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
linux2에 nginx 설치설치 가능한 nginx를 확인하고, 해당 nginx를 설치한다. localhost 혹은 해당 ip로 접속을 하면 nginx 화면을 볼 수 있다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.