> 패키지 및 시스템 관리 > journalctl

Journalctl 완전 정복

systemd 로그를 조회하고 관리하는 핵심 도구입니다. 이 가이드를 통해 `journalctl`의 다양한 옵션과 활용법을 익혀보세요.

주요 옵션

아래 옵션들을 클릭하여 `journalctl` 명령어를 직접 만들어보고 각 기능에 대한 설명을 확인하세요. 이 도구는 사용자가 다양한 옵션을 조합하며 명령어의 작동 방식을 직관적으로 이해할 수 있도록 돕습니다.

1. 기본 조회

2. 필터링

3. 출력 형식

생성된 명령어:

명령어를 조합해 보세요.

설명:

`journalctl` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

로그 저장소와 구조

`journald` 서비스는 시스템 로그를 특정 위치에 바이너리 형식으로 저장합니다. 저장 방식은 시스템 설정에 따라 달라지며, 이는 로그 보존 기간과 직접적인 관련이 있습니다. 이 섹션에서는 로그가 어디에 어떻게 저장되는지 설명합니다.

🌀 휘발성 저장소

/run/log/journal/

이곳의 로그는 시스템이 재부팅되면 모두 삭제됩니다. 주로 단기적인 문제 해결이나 임시 로그 저장에 사용됩니다. 시스템에 영구 저장 디렉터리가 설정되어 있지 않을 경우 기본적으로 이곳을 사용합니다.

💾 영구 저장소

/var/log/journal/

시스템 재부팅 후에도 로그를 보존하고 싶을 때 사용되는 경로입니다. 대부분의 운영 서버 환경에서는 이 경로에 로그가 저장되도록 설정합니다. 이 디렉터리가 존재하면 `journald`는 자동으로 로그를 영구 보존합니다.

설정 파일 및 로그 정리

로그가 디스크 공간을 과도하게 차지하는 것을 방지하기 위해 `journald`의 설정을 변경하거나 주기적으로 오래된 로그를 정리할 수 있습니다. 이 섹션에서는 관련 설정 파일과 정리 명령어를 소개합니다.

설정 파일: journald.conf

`journald`의 모든 동작은 `/etc/systemd/journald.conf` 파일에서 제어할 수 있습니다. 다음은 주요 설정 옵션입니다. 설정 변경 후에는 `sudo systemctl restart systemd-journald` 명령어로 서비스를 재시작해야 합니다.

  • Storage=: 로그 저장 방식을 결정합니다. (`persistent`, `volatile`, `auto`)
  • SystemMaxUse=: 저널이 사용할 최대 디스크 공간을 지정합니다. (예: `1G`)
  • SystemKeepFree=: 항상 확보해야 할 최소 여유 공간을 지정합니다. (예: `200M`)
  • ForwardToSyslog=: 기존 syslog 데몬으로 로그를 전달할지 여부를 설정합니다.

로그 정리

수동으로 로그를 정리하여 디스크 공간을 확보할 수 있습니다. 삭제된 로그는 복구할 수 없으므로 주의해야 합니다.

현재 디스크 공간 확인

journalctl --disk-usage

현재 저널이 차지하는 디스크 공간을 확인합니다.

오래된 로그 삭제 (시간 기준)

sudo journalctl --vacuum-time=2weeks

지정된 시간보다 오래된 모든 로그를 삭제합니다.

로그 크기 제한 (용량 기준)

sudo journalctl --vacuum-size=500M

저널 파일의 총 크기를 지정된 용량으로 제한하고 오래된 로그를 삭제합니다.


동일 카테고리 명령어