Nginx 로그 자동 분할 스 크 립 트
#!/bin/bash
#cut_nginx_logs.sh
#author xingxiudong
#set the path to nginx log files
log_files_path="/var/log/nginx"
#set nginx log files you want to cut
project_name=mmt
log_files_name=nginx_access_mmt
log_files_dir=${log_files_path}/bck/${project_name}/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
set the path to nginx.
nginx_sbin="/etc/init.d/nginx"
############################################
#Please do not modify the following script #
############################################
mkdir -p $log_files_dir
#log_files_num=${#log_files_name[@]}
#cut nginx log files
mv ${log_files_path}/${log_files_name}.log ${log_files_dir}/${log_files_name}_$(date -d "yesterday" +"%Y%m%d")_$(date +"%Y%m%d%H%M%S").log
kill -USR1 $(cat /var/run/nginx.pid)
$nginx_sbin force-reload
2. 정시 실행 파일 준비: croncur_nginx_logs
1 0 * * * /home/mmt/cut_nginx_logs.sh
3. 분할 스 크 립 트 파일 실행 권한 수정
sudo chmod 777 /home/mmt/cut_nginx_logs.sh
4, cron 데 몬 가입
sudo crontab /home/mmt/cron_cur_nginx_logs
=============================================================
어느 날, 지도 자 는 windows 기기 에서 매일 nginx 방문 로 그 를 내 려 고 하 는데 어 쩔 수 없 이 하 나 를 썼 다.
taskkill /F /IM nginx.exe
set "cmd_zszy=move F:
ginx-access_log\zszy\logs\zszy.log F:
ginx-access_log\zszy\logs\zszy.%date:~0,4%-%date:~5,2%-%date:~8,2%.log
call %cmd_zszy%"
start nginx
저장 후 이 일괄 처리 파일 을 nginx 루트 디 렉 터 리 에 두 고 windows 다음 작업 계획 을 추가 하면 매일 한 번 씩 실행 하면 됩 니 다. 이 일괄 처 리 는 모두 세 가지 일 을 했 습 니 다. 시스템 에서 실행 중인 nginx 프로 세 스 를 죽 이 고 백업 한 다음 시간 에 따라 로그 파일 이름 을 바 꾸 고 마지막 으로 nginx 서 비 스 를 시작 합 니 다.테스트 를 통 해 windows 아래 에서 nginx 서비스 가 중 단 된 상태 에서 로 그 를 백업 할 수 있 습 니 다. 이것 은 약간 아 쉽 지만 일반적인 상황 에서 이 백업 과정 은 1 ~ 2 초 안에 완 료 됩 니 다. 이 처 리 를 매일 새벽 에 실행 하고 nginx 제공 서비스 에 영향 을 주지 않 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.