"journalctl"데이터는 어디에 저장됩니까?


43

발행 할 때 journalctl모든 시스템 서비스에 대한 방대한 로그를 얻지 만이 모든 정보는 어디에 저장됩니까?

답변:


37

보낸 사람 man systemd-journald:

FILES
       /etc/systemd/journald.conf
           Configure systemd-journald behavior. See journald.conf(5).

       /run/log/journal/machine-id/*.journal,
       /run/log/journal/machine-id/*.journal~,
       /var/log/journal/machine-id/*.journal,
       /var/log/journal/machine-id/*.journal~
           systemd-journald writes entries to files in
           /run/log/journal/machine-id/ or /var/log/journal/machine-id/ with
           the ".journal" suffix. If the daemon is stopped uncleanly, or if
           the files are found to be corrupted, they are renamed using the
           ".journal~" suffix, and systemd-journald starts writing to a new
           file.  /run is used when /var/log/journal is not available, or when
           Storage=volatile is set in the journald.conf(5) configuration file.

그리고 man journalctl말합니다 :

journalctl may be used to query the contents of the systemd(1) journal
as written by systemd-journald.service(8).

이 로그는 systemd-journald서비스에 의해 관리 되므로보다 적절한 용어는 " journald로그"입니다.


수정 해 주셔서 감사합니다.하지만 저와 같은 멍청한 놈도 그와 같이 검색한다고 가정하면이 방법을 사용하는 것이 좋습니다. 후속 질문-이 로그를 삭제해도 안전한가요?
php_nub_qq

5
나중에 로그에서 정보가 필요하지 않으면 로그를 안전하게 삭제할 수 있습니다.
muru

기본적으로 systemd는 사용 된 디스크 공간의 특정 비율에 도달하면 오래된 로그를 삭제합니다.
mattdm

17

그러나 우분투는 기본적으로 영구 저널 로그 파일을 사용하지 않습니다. /run/log/journal/<machine-id>/*.journal[~]다음 부팅 때까지 휘발성 만 유지됩니다. 재부팅 할 때마다 모두 손실됩니다.

다음과 같이 로그에 유지 된 부팅 목록이 표시 될 수 있습니다.

journalctl --list-boot

디렉토리 /var/log를 작성하여 지속적 저널 로그 사용을 활성화하지 않은 경우 로그는 여전히 텍스트 파일 아래에 유지됩니다 /var/log/journal.


5
그러나 저널 로그 기본적으로 영구적 이어야 합니다. [bug # 1618188] ( bugs.launchpad.net/ubuntu/+source/systemd/+bug/1618188 )이이 변경의 진행 상황을 추적하기 위해 열립니다. 최신 상태를 확인하십시오.
Mark Stosberg

3

짧은 답변

일반적으로 스토리지 디렉토리는 /var/log/journal또는 /run/log/journal이지만 반드시 시스템에 존재할 필요는 없습니다.

저널이 현재 디스크에서 차지하는 공간을 확인하려면 다음을 입력하십시오.

$ journalctl --disk-usage

긴 대답

스토리지 디렉토리는 저널 구성에 따라 다릅니다.

구성 파일은 다음과 같습니다.

/etc/systemd/journald.conf
/etc/systemd/journald.conf.d/*.conf
/run/systemd/journald.conf.d/*.conf
/usr/lib/systemd/journald.conf.d/*.conf

" Storage="옵션은 저널 데이터를 저장할지 여부와 위치를 제어합니다. 가능한 값은 " volatile", " persistent", " auto"및 " none"입니다. 기본값은 " auto"입니다.

" volatile"인 경우 저널 로그 데이터는 메모리에만 저장됩니다 (예 : / run / log / journal 계층 구조 (필요한 경우 작성 됨)).

" persistent"인 경우 데이터는 디스크에, 바람직하게는 / var / log / journal 계층 구조 (필요한 경우 생성됨) 아래에, 초기에는 / run / log / journal (필요한 경우 생성됨)로 대체됩니다. 디스크를 쓸 수없는 경우 부팅합니다.

" auto"는 " "와 비슷 persistent하지만 필요한 경우 디렉토리 /var/log/journal가 작성 되지 않으므로 로그 데이터의 존재를 제어합니다.

" none"는 모든 스토리지를 끄고 수신 된 모든 로그 데이터가 삭제됩니다.


0

데이터가 저장된 위치에 대한 Muru의 답변 외에도 다른 관련 답변이 있습니다.

journalctl이전 부팅 로그를 찾기 위해 늘리는 방법

$ sudo mkdir -p /var/log/journal
$ sudo systemd-tmpfiles --create --prefix /var/log/journal

유지하는 방법 journalctl아래 파일 크기를

$ journalctl --vacuum-size=200M
Deleted archived journal /var/log/journal/d7b25a27fe064cadb75a2f2f6ca7764e/system@00056515dbdd9a4e-a6fe2ec77e516045.journal~ (56.0M).
Deleted archived journal /var/log/journal/d7b25a27fe064cadb75a2f2f6ca7764e/user-65534@00056515dbfe731d-b7bab56cb4efcbf6.journal~ (8.0M).
Deleted archived journal /var/log/journal/d7b25a27fe064cadb75a2f2f6ca7764e/user-1000@1bbb77599cf14c65a18af51646751696-000000000000064f-00056444d58433e1.journal (112.0M).
Vacuuming done, freed 176.0M of archived journals on disk.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.