CentOS 7 시스템에서는 journalctl
마지막 시작 이후 생성된 메시지만 인쇄됩니다.
주문하다
# journalctl --boot=-1
인쇄
Failed to look up boot -1: Cannot assign requested address
상태 1로 종료됩니다.
이것을 현재 Fedora 시스템과 비교해 보면 CentOS 7에는 이 기능이 없다는 것을 알았습니다 /var/log/journal
( journalctl
제공하지도 않습니다 --list-boots
).
그래서 제 질문은 마지막 시작 날짜 이전에 작성된 로그 메시지를 표시하는 방법입니다.
아니면 CentOS 7에서 이 기능을 활성화해야 할까요?
( journalctl
매뉴얼 페이지에는 버전 번호로 "systemd 208"이 나열되어 있습니다.)
답변1
너무 길어요.
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
어디Journald.conf 매뉴얼 페이지다음과 같이 해석됩니다 auto
.
"휘발성", "지속적", "자동" 및 "없음" 중 하나입니다. "휘발성"인 경우 저널 로그 데이터는 메모리, 즉 /run/log/journal 계층 구조(필요한 경우 생성됨)에만 저장됩니다. "지속적"인 경우 데이터는 먼저 디스크에 저장됩니다. 즉, /var/log/journal 계층 구조(필요한 경우 생성됨) 아래에 저장되고 /run/log/journal(필요한 경우 생성됨)로 대체되며 조기 시작 디스크는 쓸 수 없습니다. "자동차""영구적"과 유사하지만 디렉터리/var/로그/로그필요한 경우 생성되지 않습니다.그 존재가 로그 데이터의 위치를 제어하도록.
(강조는 내 것)
이것systemd-journald.service 매뉴얼 페이지그러므로 다음과 같이 지적됩니다.
기본적으로 저널은 /run/log/journal/에 로그 데이터를 저장합니다. /run/은 휘발성이므로 재부팅 시 로그 데이터가 손실됩니다. 데이터를 영구적으로 만들려면 systemd-journald가 데이터를 저장할 /var/log/journal/을 만드는 것으로 충분합니다.
분명히 기본값은Fedora 19에서 변경된 사항(영구 스토리지) CentOS 7은 Fedora 18에서 파생되었으므로 기본적으로 여전히 비영구적입니다. 기본적으로 지속성은 /var/log/messages
rsyslogd(기본적으로 실행되고 Journald에서 입력을 받음)에 의해 작성된 회전 버전을 통해 Journald 외부에서 구현됩니다./var/log/messages-YYYYMMDD
따라서 RHEL/CentOS 7에서 Journald를 사용하여 영구 로깅을 활성화하려면 다음을 수행해야 합니다.
# mkdir /var/log/journal
그런 다음 권한을 수정하고 다음을 통해 저널을 다시 시작합니다.
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald
답변2
systemctl restart systemd-journald
로그가 손실될 수 있습니다. 참조https://github.com/systemd/systemd/issues/2236
mkdir /var/log/journal
하나 있다변화존재하다 v208
:
systemd-journald는 더 이상 생성된 로그 파일 그룹을 "systemd-journal" 그룹으로 조정하지 않습니다. 대신, "systemd-journal" 그룹이 소유한 로그 디렉토리와 해당 setgid 비트 설정을 사용하여 커널 파일 시스템 계층이 자동으로 로그 파일이 이 그룹 할당을 상속하도록 합니다.
systemd에 포함된 tmpfiles.d(5) 조각은 setgid 비트와 그룹이 로그 디렉터리에 올바르게 설정되었는지 확인합니다(각 부팅에 로그 디렉터리가 존재하는 경우).
그래서, 당신은 다음 과 같은 systemd-tmpfiles --create --prefix /var/log/journal
것을 실행해야합니다mkdir /var/log/journal
당신은 또한 볼 수 있습니다: