로그 관리 - Logrotate 로그 절단 및 저장
배경
최근 에 데이터 와 관련 된 일 을 하고 있 습 니 다. 로그 파일 을 많이 처리 해 야 합 니 다.서버 로그 의 중요성 은 두말 할 필요 가 없습니다. nginx 로 그 는 처리 해 야 할 것 입 니 다.nginx 의 로그 파일 이론 적 으로 선형 으로 지속 적 으로 증가 합 니 다. 그러면 우 리 는 이 데 이 터 를 처리 하고 어떻게 해 야 합 니까? 조사 연 구 를 통 해 필 자 는 Linux 시스템 이 제공 하 는 서비스 logrotate 를 찾 았 습 니 다.
logrotate 는 대량의 로 그 를 생 성 하 는 시스템 을 관리 하기 위해 설계 되 었 다.자동 회전, 압축, 이전, 메 일 알림 로그 시스템 의 다 중 기능 을 갖 추고 있다.모든 로그 파일 은 매일, 매주, 매달 주기 적 으로 처리 하거나 얼마나 늘 어 나 는 지 에 따라 트리거 처리 할 수 있 습 니 다.
기초 지식
로그 순환 이란 현재 로그 압축 파일 을 실현 하고 새로운 로 그 를 시작 하 며 초기 로 그 를 삭제 하 는 것 을 말 합 니 다.로 그 는 일반적으로 응용 프로그램 이 기록 한 시스템 관리자 나 프로그램 개발 자 에 게 유용 한 정보 파일 입 니 다. 예 를 들 어 무엇 을 실행 하고 있 는 지, 무슨 오류 가 발생 했 는 지 등 일련의 정보 입 니 다.
응용 프로그램의 사용 과정 을 추적 하거나 응용 프로그램의 이상 을 해결 해 야 할 때 로 그 는 가장 이상 적 인 도구 입 니 다.불 행 히 도 로그 기록 이 많 을 수록 하 드 디스크 공간 이 더 필요 하 다 는 뜻 이다. 시간 이 지 날수 록 하 드 디스크 는 언젠가는 다 소모 된다.로 그 는 윤전 을 하지 않 으 면 수렴 없 이 미 친 듯 이 올 라 가 고, 이대로 가면 여러 가지 로 시스템 운행 에 지장 을 줄 수 밖 에 없다.
logrotate 는 어떻게 작 동 합 니까?
일반적으로 logrotate 는 corn 의 매일 작업 으로 주기 적 으로 실 행 됩 니 다. 대부분의 Linux 발표 버 전 시스템 (Centos, Ubuntu, Fedora) 에서 찾 을 수 있 습 니 다.
/etc/cron.daily/logrotate
logrotate 가 실행 하 는 빈 도 를 조정 하려 면 cron 설정 에서 조정 할 수 있 습 니 다.필요 하 시 면 cron 에 관 한 제 글 도 보 세 요.
배치 하 다.
시스템 구성
디 렉 터 리 / etc 에서 logrotate 에 대한 설정 파일 과 대응 하 는 디 렉 터 리 를 볼 수 있 습 니 다. 다음 을 직접 볼 수 있 습 니 다.
ls -al|grep logrotate
/etc/logrotate.conf
이 메 인 프로필 과 /etc/lograte.d
이 디 렉 터 리 를 발견 할 수 있 을 것 입 니 다.이 디 렉 터 리 에서 응용 단계 에 대한 logrotate 설정 을 찾 을 수 있 습 니 다. 이것 은 서비스 와 설치 방식 에 달 려 있 습 니 다.일반적으로 패키지 관리 도 구 를 통 해 설 치 된 응용 서 비 스 는 /etc/logrotate.d
디 렉 터 리 에 프로필 을 동시에 생 성 합 니 다.기본적으로 이 디 렉 터 리 에 서 는 syslog 서비스의 설정 파일 을 볼 수 있 습 니 다. logrotate 윤전 시스템 로그 에 사용 할 설정 입 니 다.응용 설정
모든 응용 서비스 에 대해 로그 순환 설정 을 할 수 있 습 니 다. 필 자 는 웹 서버 의 access 로 그 를 예 로 들 었 습 니 다.
/usr/local/nginx
디 렉 터 리 /var/log/nginx/access.log
우 리 는 이 수 요 를 위해 프로필 을 만 듭 니 다.
/etc/logrotate.d/nginx-access.conf
파일 의 내용 은 다음 과 같 습 니 다./var/log/nginx/access.log {
size 2M
create 777 www web
rotate 65535
copytruncate
compress
nomail
olddir /var/log/nginx/old-logs/
}
이 어 cron 서비스 에서 매 시간 실행 으로 설정 하면 이 루어 집 니 다. 이렇게 간단 합 니 다. cron 설정 이 잘 모 르 는 곳 이 있 으 면 필자 가 cron 에 관 한 또 다른 공 유 를 볼 수 있 습 니 다.
이로써 로그 rotate 를 이용 하여 nginx 서버 의 로 그 를 편리 하 게 관리 할 수 있 습 니 다.이 를 바탕 으로 로그 파일 을 구체 적 으로 관리 할 수 있 습 니 다.더 구체 적 이 고 상세 한 도움 은 사용 할 수 있 습 니 다:
man logrotate
명령 조회.
참고 문서
centos-logroate-cron
ps
우연히 logrotate - github 이 github 에 올 라 갔 어 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.