systemd 의 로그 데이타인 journal 을 영구 저장하기

systemd 의 journal 로그 데이타는 재부팅하면 사라지게 됩니다.

이는 /etc/systemd/journald.conf 의 기본 설정이 Storage=auto 이며 이 경우 /run/log/journal/ 에 저널 데이타를 보관하므로 부팅시에 이전 저널이 사라지게 됩니다.


다음 절차를 수행하면 재부팅해도 이전 저널 데이타를 계속 보관하게 됩니다.


  1. 편집기로  /etc/systemd/journald.conf 파일을 엽니다.(루트 권한 필요)
  2. 기본 설정을 수정합니다.

    [Journal]
    Storage=persistent
    SystemMaxFiles=500
  3. 저널을 저장할 새로운 디렉터리를 생성합니다.

    mkdir -p /var/log/journal
  4. systemd 에게 tmpfile 의 경로를 알려 줍니다.

    systemd-tmpfiles --create --prefix /var/log/journal
  5. 변경된 설정을 다시 읽도록 USR1 signal 을 전송합니다.

    killall -USR1 systemd-journald

확인

이전 journal 도 보관하고 있는지 여부는 --list-boots 옵션을 주고 명령어를 실행하면 확인할 수 있습니다.

journalctl --list-boots

-4 ea1e15c835b442aaa37cf8dab7ecf32a Fri 2019-12-20 17:11:53 UTC—Fri 2019-12-20 17:16:59 UTC
-3 6c9502ef0ace4a6ca162568ab6c1b00b Wed 2019-12-25 07:49:13 UTC—Wed 2019-12-25 12:01:48 UTC
-2 89e8cf6c2ca2418bba5acb4a8a058919 Wed 2020-01-01 12:34:09 UTC—Wed 2020-01-01 12:41:13 UTC
-1 f8197a28cc5442d0a9075a13e6fc6182 Sun 2020-01-19 06:19:55 UTC—Sun 2020-01-19 15:41:36 UTC
 0 438042216a3c4da29181b4b3b1c15df2 Sun 2020-01-19 15:41:44 UTC—Sun 2020-01-19 15:42:17 UTC


이전 저널도 보관하고 있으면 journalctl 은 모든 저널에서 검색하게 됩니다. 특정 부팅에서 로그 데이타를 확인하려면 -b 옵션 뒤에 사용하려는 저널의 인덱스(컬럼 1번째 숫자, 예: -2) 를 주면  되며 아래는 -2 index 의 저널에서 로그를 출력합니다.

journalctl -b -2


같이 보기


참고