요구사항: logrotate를 사용해 매일 nginx 로그를 자르고, 60일 이상 된 로그를 자동으로 삭제하며, 과거 로그를 압축 및 보관합니다. 단일 nginx 로그 파일이 너무 커져 디스크 공간이 부족하거나 읽기 효율이 떨어지는 것을 방지합니다.
복습:
로그로타
리눅스 환경에서 logrotate은 로그 파일의 관리 및 회전을 자동화하여 디스크 공간 부족이나 단일 로그 파일의 크기 때문에 읽기 효율을 줄이는 것을 방지하는 매우 유용한 로그 절단 도구입니다. 리눅스에는 이미 로그로트 도구가 포함되어 있습니다. 만약 그렇지 않다면, 다음 명령어로 설치할 수 있습니다:
매개변수는 다음과 같습니다:
Usage: logrotate [OPTION...] <configfile> -d, --debug 아무것도 하지 말고, 그냥 테스트하고 디버그 메시지를 출력하세요 -f, --force 파일 회전 -m, --mail=command 메일을 보내기 명령어 ('/bin/mail' 대신) -s, --state=statefile 상태 파일의 경로 -v, --verbose 회전 중 메시지 표시 -l, --log=logfile 로그 파일 또는 'syslog'(시스템 로그에 로그)를 기록하는 것 --버전 버전 표시 버전 정보
도움 옵션: -?, --도움말 이 도움 메시지 보여주기 --사용 간략한 사용 메시지 표시
로그로틀 구성
/etc/logrotate.d/ 디렉터리 아래에 Nginx용 logrotate 설정 파일을 수동으로 생성하세요 (/etc/logrotate.d/nginx), 이 구성은 다음과 같습니다:
구성이 올바르는지 테스트하기 위해 명령어는 다음과 같습니다:
다음 명령어로 한 번 강제하세요:
아래에 나와 있습니다:
작업의 마지막 성공 실행을 보려면 명령어는 다음과 같습니다:
아래에 나와 있습니다:
로그로테이션 실행 시간
LogRotate는 Crond 서비스를 기반으로 하며, Crond 서비스의 스크립트는 다음과 같습니다/etc/cron.daily/logrotatelogrote가 로그 분할을 수행할 때 주의해야 합니다/etc/anacrontab그리고 /var/lib/logrotate/logrotate.status. 이 설정은 불규칙하게 부팅되는 시스템(예: 노트북, 가끔 종료되는 서버)에서 주기적인 작업(예: 로그 회전)을 누락하도록 보장하는 아나크론용 구성 파일입니다.보완 집행。
참조:
하이퍼링크 로그인이 보입니다.
하이퍼링크 로그인이 보입니다. |