tl; dr
CentOS 7에서는 로그 메시지를 지속적으로 저장해야합니다.
# mkdir /var/log/journal
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald
그렇지 않으면 부팅간에 저널 로그 메시지가 유지되지 않습니다.
세부
journald
이전 부팅에서 로그 메시지를 유지 할지 여부 는를 통해 구성됩니다 /etc/systemd/journald.conf
. CentOS 7의 기본 설정은 다음과 같습니다.
[Journal]
Storage=auto
를 Where를 journald.conf 메뉴얼 페이지 설명 auto
과 같이
"휘발성", "지속적", "자동"및 "없음"중 하나입니다. "휘발성"인 경우 저널 로그 데이터는 메모리에만 저장됩니다 (예 : / run / log / journal 계층 구조 (필요한 경우 작성 됨)). "지속적"인 경우 데이터는 디스크에 저장됩니다 (예 : 필요한 경우 생성되는 / var / log / journal 계층 아래). 초기 부팅 및 디스크 쓰기 가능하지 않은 경우. " auto "는 "persistent"와 유사하지만 / var / log / journal 디렉토리 는 필요에 따라 작성되지 않으므로 로그 데이터의 위치를 제어합니다 .
(내 강조)
systemd-journald.service man 페이지는 이렇게한다고 :
저널은 기본적으로 / run / log / journal /에 로그 데이터를 저장합니다. / run /은 일시적이므로 로그 데이터는 재부팅시 손실됩니다. 데이터를 영구적으로 만들려면 systemd-journald가 데이터를 저장하는 / var / log / journal /을 만드는 것으로 충분합니다.
명백히, 기본값은 Fedora 19에서 (사이트 간 스토리지로) 변경되었으며 CentOS 7은 Fedora 18에서 파생되었으므로 기본적으로 여전히 영구적이지 않습니다. 지속성은 기본적으로 저널링 된 비아 /var/log/messages
와 /var/log/messages-YYYYMMDD
rsyslogd에 의해 작성된 회전 버전 (기본적으로 실행되고 저널에서 입력을 가져옴) 외부에서 구현됩니다.
따라서 RHEL / CentOS 7에서 저널링 된 영구 로깅을 사용하려면
# mkdir /var/log/journal
그런 다음 권한을 수정하고 저널링을 다시 시작하십시오 (예 :
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald
systemctl restart systemd-journald
그것을해야한다. 따라서 재부팅이 필요하지 않습니다.