crontab 도구 Nginx 자동 분할 로그 구현
정경
nginx 로 그 는 기본적으로 access. log 와 error. log 에 저 장 됩 니 다. 모든 요청 과 오 류 는 기록 되 지만 방문 이 많 거나 시간 이 지나 면 로그 파일 이 매우 커서 로 그 를 분석 하 는 데 어려움 을 겪 을 것 입 니 다.따라서 로 그 를 날짜 별로 출력 할 수 있 는 간단 한 방법 이 있 습 니까?Liux 는 정기 적 으로 실행 할 수 있 는 도 구 를 가지 고 있 습 니 다. crontab 는 우리 가 이 기능 을 쉽게 실현 하 는 데 도움 을 줄 수 있 습 니 다.
환경.
이 사례 에서 nginx 는 로 그 를 저장 하 는 디 렉 터 리 는 다음 과 같 습 니 다. access. lg 와 error. log 는 기본 로그 저장 위치 입 니 다. log - history 폴 더 는 역사 로 그 를 저장 합 니 다. 형식 은 날짜 - 로그 형식. log 입 니 다.
├── log │ ├── access.log │ ├── error.log │ └── log-history │ ├── 20190603-access.log │ ├── 20190603-error.log │ └── newlog.sh
실현 방법
1. new log. sh new log. log 를 작성 하 는 주요 기능 은 오늘 로 그 를 log - history 의 특정한 이름 의 파일 로 자 른 다음 설정 을 다시 불 러 오 는 것 입 니 다.이 스 크 립 트 를 사용 하려 면 로그 루트 의 값 계산 과 를 바 꿔 야 합 니 다.
#!/bin/bash
logroot="/home/ubuntu/Nginx/log"
hisroot=$logroot/log-history
day=$(date '+%Y%m%d')
aclogname="${day}-access.log"
erlogname="${day}-error.log"
cat $logroot/access.log > $hisroot/$aclogname
cat $logroot/error.log > $hisroot/$erlogname
sudo rm $logroot/access.log
sudo rm $logroot/error.log
sudo nginx -s reload
2. 정시 퀘 스 트 설정 \ # 정시 퀘 스 트 설정
$ crontab -e
\ # 열 린 편집기 에 다음 내용 을 입력 하고 작업 을 만 듭 니 다. 매일 종료 1 분 전에 newlog 스 크 립 트 를 실행 합 니 다.
59 23 * * * /home/ubuntu/Nginx/log/log-history/newlog.sh
(그리고: wq 저장 하면 됩 니 다. 수 동 으로 새로 고침 할 필요 가 없습니다)
분석 하 다.
crontab 는 프로그램 을 정기 적 으로 실행 하 는 명령 입 니 다.상용 문법: crontab {- l | - r | - e} (- l: 작업 목록 을 보 여 줍 니 다. - r 기 존 작업 을 삭제 합 니 다. - e 생 성 또는 편집 작업) crontab - e 를 입력 하면 시간표 의 편집 인터페이스 에 들 어 갑 니 다. 줄 마다 작업 을 대표 합 니 다.시간표 형식: min hour dayof_month month day_of_week, * 는 항상 전 부 를 표시 하고 다른 문법 은 n - m, * / n, a, b, c 의 상세 한 상황 은 소개 하지 않 습 니 다.
과정 에서 만난 구덩이 1. 작업 이 정시 에 스 크 립 트 를 실행 하 는 것 이 라면. / shell. sh 의 쓰기 2. 절대 경로 3. 가끔 일정표 가 편집 하기 어렵 다 는 것 을 알 게 되 었 습 니 다. 사실은 편집기 가 잘못 선택 한 원인 일 수 있 습 니 다.이것 은 명령 select - editor 를 입력 하고 vim 를 선택 한 다음 다시 편집 하면 됩 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.