Linux Server Deployment & SSH Mastery · 강의

로그 순환 및 보관

`logrotate`를 구현하여 로그 파일 크기를 관리하고 디스크 고갈을 방지하며 효율적인 로그 보관 정책을 마련합니다.

레슨 3/411개 단계

로그 순환 및 보관은(는) CoddyKit의 무료 Linux Server Deployment & SSH Mastery 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Linux Server Deployment & SSH Mastery 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Linux Server Deployment & SSH Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.

로그 순환이 중요한 이유

서버 로그는 디버깅과 모니터링에 필수적이지만 시간이 지나면서 매우 커질 수 있습니다. 관리하지 않고 방치하면 디스크 공간이 빠르게 가득 차 서버가 불안정해지거나 심지어 중단될 수 있습니다.

이때 로그 순환이 필요합니다. 로그 파일 크기를 효율적으로 관리하는 중요한 과정입니다.

`logrotate` 유틸리티 소개

Linux 시스템은 logrotate라는 유틸리티를 사용하여 로그 파일 관리를 자동화합니다. 다음 작업을 수행하도록 설계되었습니다.

  • 로그 순환(이전 로그 이름 변경)
  • 공간을 절약하기 위한 이전 로그 압축
  • 오래된 로그 파일 삭제
  • 순환 후 사용자 지정 스크립트 실행

대부분의 Linux 배포판에는 logrotate가 사전 설치되어 있으며 cron 작업을 통해 매일 실행되도록 구성되어 있습니다.

`logrotate`가 지침을 찾는 방법

logrotate는 특정 파일에서 설정을 읽습니다. 주요 위치는 두 곳입니다.

  • /etc/logrotate.conf: 전역 설정과 기본값이 포함되는 경우가 많은 기본 설정 파일입니다.
  • /etc/logrotate.d/: 개별 애플리케이션과 서비스가 자체 로그 순환 규칙을 저장하는 디렉터리입니다. 이 디렉터리의 각 파일은 별도의 설정으로 처리됩니다.

이러한 모듈식 접근 방식을 사용하면 여러 서비스의 규칙을 쉽게 관리할 수 있습니다.

로그 순환 빈도 설정하기

처음 정의할 항목 중 하나는 로그를 얼마나 자주 순환할지입니다. logrotate는 이를 위한 여러 지시어를 제공합니다.

  • daily: 매일 로그를 순환합니다.
  • weekly: 일주일에 한 번 로그를 순환합니다.
  • monthly: 한 달에 한 번 로그를 순환합니다.
  • yearly: 1년에 한 번 로그를 순환합니다.

로그 세부 정보의 보존과 디스크 공간 사용량 사이에서 균형을 이루는 빈도를 선택하세요.

이전 로그 보관 개수 지정하기

rotate 지시어는 가장 오래된 로그를 삭제하기 전에 logrotate가 보관할 이전 로그 파일의 개수를 지정합니다. 예를 들어 rotate 4는 현재 로그 파일과 순환된(보관된) 버전 4개를 유지한다는 뜻입니다.

한도에 도달하면 새 순환이 수행될 때 가장 오래된 순환 로그가 삭제됩니다.

오래된 로그 파일 압축

디스크 공간을 더욱 절약하기 위해 logrotate는 오래된 로그 파일을 압축할 수 있습니다. compress 지시문이 바로 이 작업을 수행하며, 일반적으로 gzip을 사용합니다.

이 기능을 활성화하면 순환된 로그가 .gz 파일로 생성됩니다(예: myapp.log.1.gz). 대부분의 서버 로그에 이 기능을 사용하는 것이 좋습니다.

시간뿐 아니라 크기로 순환하기

로그가 매우 빠르게 커지는 경우가 있어 매일 또는 매주 순환하는 것만으로는 충분하지 않을 수 있습니다. size 지시문을 사용하면 시간 간격과 관계없이 로그가 특정 파일 크기를 초과할 때 로그를 순환할 수 있습니다.

  • size 100k: 로그 파일이 100킬로바이트보다 크면 순환합니다.
  • size 10M: 로그 파일이 10메가바이트보다 크면 순환합니다.
  • size 1G: 로그 파일이 1기가바이트보다 크면 순환합니다.

시간 간격(예: daily)과 size를 모두 지정하면 둘 중 하나의 조건만 충족되어도 순환이 발생합니다.

`logrotate` 구성 예시

다음은 가상의 애플리케이션 로그 파일에 대해 /etc/logrotate.d/에서 볼 수 있는 간단한 구성 파일 예시입니다.

이 구성은 로그를 매일 순환하고, 이전 사본을 7개 보관하며, 해당 사본을 압축합니다.

/var/log/my_app/access.log {
    daily
    rotate 7
    compress
    notifempty
    missingok
}

`logrotate` 수동 실행

logrotate는 일반적으로 cron을 통해 자동으로 실행되지만, 수동으로 순환을 테스트하거나 강제로 실행할 수도 있습니다. 기본 명령은 logrotate /etc/logrotate.conf입니다.

순환을 강제로 실행하려면(구성을 테스트할 때 유용함) -f 플래그를 사용합니다.

  • logrotate -f /etc/logrotate.d/my_app: 특정 구성 파일에 대해 순환을 강제로 실행합니다.
  • logrotate -f /etc/logrotate.conf: 구성된 모든 로그에 대해 순환을 강제로 실행합니다.

-d(디버그) 플래그를 사용하면 실제로 순환을 실행하지 않고 어떤 작업을 수행할지 확인할 수 있습니다.

빠른 확인: 로그 보존

다음 logrotate 구성이 /var/log/webserver/error.log에 적용되어 있다고 가정해 보세요.

/var/log/webserver/error.log { weekly rotate 4 compress notifempty }

이 구성이 몇 주 동안 실행되었다면, 어느 시점에서든 몇 개의 압축된 이전 로그 파일을 찾을 수 있을까요?

복습: 로그 관리 마스터하기

이번 레슨에서는 logrotate를 사용하여 서버 로그를 효과적으로 관리하는 방법을 살펴보았습니다. 다음 내용을 배웠습니다.

  • 로그 순환은 디스크 공간이 모두 소진되는 것을 방지합니다.
  • logrotate는 /etc/logrotate.conf 및 /etc/logrotate.d/의 구성 파일을 사용합니다.
  • 주요 지시문으로는 빈도를 설정하는 daily/weekly/monthly, 보존을 설정하는 rotate, 공간을 절약하는 compress, 조건부 순환을 설정하는 size가 있습니다.

적절한 로그 관리는 안정적인 서버 운영의 핵심입니다!

무료로 시작

AI 튜터와 함께 Linux Server Deployment & SSH Mastery을(를) 배우세요 — 무료

브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.

코스
12
레슨
48

자주 묻는 질문

“로그 순환 및 보관” 강의는 무료인가요?

네 — “로그 순환 및 보관” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Linux Server Deployment & SSH Mastery 강의 전체를 잠금 해제할 수 있습니다. Linux Server Deployment & SSH Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.

“로그 순환 및 보관”에서 뭘 배우나요?

`logrotate`를 구현하여 로그 파일 크기를 관리하고 디스크 고갈을 방지하며 효율적인 로그 보관 정책을 마련합니다. 브라우저에서 직접 실행하는 실습 코드로 Linux Server Deployment & SSH Mastery을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Linux Server Deployment & SSH Mastery을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Linux Server Deployment & SSH Mastery은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“로그 순환 및 보관” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Linux Server Deployment & SSH Mastery 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Linux Server Deployment & SSH Mastery 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 시스템 모니터링 도구
  2. 시스템 로그 이해하기
  3. 로그 순환 및 보관
  4. 중앙 집중식 모니터링과 알림
← Linux Server Deployment & SSH Mastery(으)로 돌아가기