Nginx 로그 절단 스 크 립 트
4891 단어 Linux
현재 시간 디 렉 터 리 를 만 듭 니 다. 예 를 들 어 년 / 월 디 렉 터 리 그리고 현재 지정 한 로 그 를 만 든 디 렉 터 리 로 잘라 내기 nginx 서 비 스 를 다시 시작 하고 0kb 크기 의 새 로그 파일 을 다시 만 듭 니 다 계획 작업 을 통 해 상기 절단 로 그 를 주기 적 으로 실행 하고 로 그 를 다시 만 드 는 작업 은 로그 파일 을 일정한 크기 로 유지 할 수 있 을 뿐만 아니 라 지 정 된 시간 형식 과 디 렉 터 리 에 따라 저장 할 수 있 습 니 다.조회 의 편리 함 과 파일 이 빠르게 열 립 니 다.
절단 스 크 립 트 코드 는 다음 과 같 습 니 다:
1 #!/bin/bash
2
3 # nginx
4 log_files_path="/home/wwwlogs/"
5
6 #nginx
7 log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
8
9 # access.log error.log
10 log_files_name=(access error)
11
12 #nginx
13 nginx_sbin="/usr/local/nginx/sbin/nginx"
14
15 #
16 save_days=30
17
18 #
19 mkdir -p $log_files_dir
20
21 log_files_num=${#log_files_name[@]}
22
23 #
24 for((i=0;ido
25 mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log
26 done
27
28 # 30
29 find $log_files_path -mtime +$save_days -exec rm -rf {} \;
30
31 # nginx ,
32 $nginx_sbin -s reload
스 크 립 트 를 놓 으 면 이 스 크 립 트 를 실행 할 계획 작업 을 만 들 수 있 습 니 다. 먼저 이 스 크 립 트 에 실행 가능 한 권한 을 부여 합 니 다.
chmod +x cut_nginx_logs.sh
그리고 계획 작업 만 들 기:
riqi@ubuntu:~$ crontab -e
작업 추가:
00 00 * * * /bin/bash /home/crontab/cut_nginx_logs.sh
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.