systemd 의 로그 데이타인 journal 을 영구 저장하기
systemd 의 journal 로그 데이타는 재부팅하면 사라지게 됩니다.
이는 /etc/systemd/journald.conf 의 기본 설정이 Storage=auto 이며 이 경우 /run/log/journal/ 에 저널 데이타를 보관하므로 부팅시에 이전 저널이 사라지게 됩니다.
다음 절차를 수행하면 재부팅해도 이전 저널 데이타를 계속 보관하게 됩니다.
- 편집기로 /etc/systemd/journald.conf 파일을 엽니다.(루트 권한 필요)
기본 설정을 수정합니다.
[Journal] Storage=persistent SystemMaxFiles=500
저널을 저장할 새로운 디렉터리를 생성합니다.
mkdir -p /var/log/journal
systemd 에게 tmpfile 의 경로를 알려 줍니다.
systemd-tmpfiles --create --prefix /var/log/journal
변경된 설정을 다시 읽도록 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