로그 파일 관리
100%

로깅 · 레슨 6

로그 파일 관리

logrotate로 안전한 텍스트 로그 로테이션을 설정하고 테스트하며 검증하는 방법을 알아봅니다.

크기가 제한되지 않은 텍스트 로그는 파일시스템을 가득 채울 수 있고, 지나치게 공격적인 삭제는 운영이나 규정 준수에 필요한 증거를 없앨 수 있습니다. logrotate는 파일 기반 로그에 설정된 크기, 시간, 압축, 소유권 및 보존 정책을 적용합니다.

로테이션 이해하기

일반적인 로테이션은 활성 파일의 이름을 바꾸고, 대체 파일을 만들고, 필요하면 애플리케이션에 파일을 다시 열도록 요청하고, 오래된 세대를 압축하며, 보존 범위를 벗어난 파일을 제거합니다. 이 단계들은 설정에 따라 달라집니다. 보존된 사본도 삭제되거나 손상될 수 있고 같은 호스트의 장애로 유실될 수 있으므로 로테이션은 백업이 아닙니다.

로그 로테이션이 백업이나 아카이빙을 대신할 수 없는 이유는 무엇입니까?

설정 찾기

주 파일은 일반적으로 /etc/logrotate.conf이고, 패키지 또는 애플리케이션 조각 파일은 /etc/logrotate.d/ 아래에 있습니다. 단순화한 정책은 다음과 같습니다.

/var/log/example/app.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    create 0640 example adm
}

이 설정은 매일 평가하고, 로테이션된 세대 일곱 개를 보존하고, 한 세대 뒤에 압축하고, 로그가 없거나 비어 있어도 허용하며, 명시된 모드와 소유권으로 새 파일을 만들도록 요청합니다. 실제 로테이션은 기록된 상태와 스케줄러가 logrotate를 호출하는 방식에도 좌우됩니다.

rotate 7은 무엇을 지정합니까?

기록 프로세스와 조율하기

로그 파일의 이름을 바꾼 뒤에도 데몬은 열려 있는 파일 디스크립터를 통해 계속 쓸 수 있습니다. postrotate 스크립트는 문서화된 다시 불러오기 또는 다시 열기 신호를 보내는 데 자주 사용됩니다. 애플리케이션의 정확한 동작을 검증하고 스크립트 범위를 좁게 유지하십시오.

copytruncate는 애플리케이션이 로그를 다시 열 수 없을 때 파일을 복사하고 원본을 그 자리에서 잘라냅니다. 복사와 잘라내기 사이에 쓰기가 유실되거나 중복될 수 있으므로 보편적으로 안전한 기본값이 아니라 절충안입니다.

로테이션 후 애플리케이션에 다시 열기 신호가 필요할 수 있는 이유는 무엇입니까?

활성화 전 테스트

디버그 모드로 파일을 로테이션하지 않고 결정을 조사합니다.

$ sudo logrotate -d /etc/logrotate.conf

디버그 출력만으로 실제 실행 중 권한, 스크립트, 여유 공간 또는 애플리케이션의 파일 다시 열기가 성공한다고 입증되지는 않습니다. 통제된 환경에서 새 규칙을 테스트한 뒤 실행 후 활성 파일, 로테이션된 세대, 소유권, 압축, 애플리케이션 출력 및 logrotate 상태를 검사합니다. -f는 로테이션을 강제해 상태를 변경하므로 시험 실행과 혼동하지 마십시오.

logrotate -d는 무엇을 제공합니까?

다른 저장소 고려하기

Logrotate는 정책에 이름이 지정된 파일을 관리합니다. systemd 저널에는 자체 크기 및 보존 설정이 있고, 데이터베이스와 원격 로깅 서비스에는 별도의 수명 주기 제어가 있습니다. 파일시스템 용량과 로깅 상태를 모니터링해 멈춘 기록 프로세스나 실패한 로테이션을 공간이 소진되기 전에 감지하십시오.

logrotate 규칙이 systemd 저널 보존을 자동으로 적용합니까?

레슨 완료

로그 파일 관리 완료

이제 파일 로그 로테이션을 아카이빙으로 오해하지 않고 정책을 설계하고 검증할 수 있습니다.

  • 공간, 운영 및 보존 요구 사항의 균형을 맞춥니다.

  • 세대 수, 압축, 소유권 및 빈 파일 처리 방식을 정의합니다.

  • 파일 디스크립터를 계속 열어 두는 애플리케이션과 안전하게 조율합니다.

  • 통제된 실제 로테이션 전에 설정을 디버그합니다.

  • 저널 및 외부 저장소의 보존을 별도로 관리합니다.

학습 진행 상황 저장

무료 계정을 만들어 이 레슨을 저장하고 어떤 기기에서든 계속 학습하세요.

무료 계정 만들기
로깅(으)로 돌아가기