Gdzie są przechowywane dane „Journalctl”?


43

Kiedy wystawiam journalctl, otrzymuję ogromny dziennik wszystkich usług systemowych, ale gdzie są przechowywane wszystkie te informacje?

Odpowiedzi:


37

Od 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.

I jak man journalctlmówi:

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

Te dzienniki są zarządzane przez systemd-journaldusługę, więc bardziej odpowiednim terminem byłoby „ journalddzienniki”.


Dzięki za korektę, ale załóżmy, że Noob też mnie będzie szukał, więc myślę, że lepiej tak zostawić. Kolejne pytanie - czy te dzienniki można bezpiecznie usunąć?
— php_nub_qq

5
Cóż, dzienniki można bezpiecznie usunąć, chyba że później będziesz potrzebować z nich informacji.
— muru

Zauważ, że domyślnie systemd usuwa starsze dzienniki, gdy zbliżają się do określonego procentu zajętego miejsca na dysku.
— mattdm,

17

Należy jednak pamiętać, że Ubuntu domyślnie nie używa trwałego pliku dziennika dziennika. Tylko lotne /run/log/journal/<machine-id>/*.journal[~]jest zachowane do następnego uruchomienia. Wszystko jest tracone przy każdym ponownym uruchomieniu.

Możesz zobaczyć listę bootów zachowanych w logu z:

journalctl --list-boot

Dzienniki są nadal przechowywane w pliku tekstowym, /var/logchyba że aktywowano korzystanie z trwałego dziennika dziennika poprzez utworzenie /var/log/journalkatalogu.


5
Jednak dziennik dziennika prawdopodobnie powinien być domyślnie trwały. [błąd # 1618188] ( bugs.launchpad.net/ubuntu/+source/systemd/+bug/1618188 ) został otwarty w celu śledzenia postępu tej zmiany. Sprawdź tam najnowszy status.
— Mark Stosberg,

3

Krótka odpowiedź

Zazwyczaj katalog przechowywania to /var/log/journallub /run/log/journal, ale niekoniecznie musi istnieć w twoim systemie.

Jeśli chcesz tylko sprawdzić ilość miejsca zajmowanego przez dziennik na dysku, po prostu wpisz:

$ journalctl --disk-usage

Długa odpowiedź

Katalog pamięci zależy od konfiguracji kroniki.

Pliki konfiguracyjne to:

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

Tam Storage=opcja „ ” kontroluje, czy przechowywać dane dziennika, i gdzie. Możliwe wartości to „ volatile”, „ persistent”, „ auto” i „ none”. Domyślnie „ auto”.

Jeśli „ volatile”, dane dziennika będą przechowywane tylko w pamięci, tj. Poniżej hierarchii / run / log / journal (która jest tworzona w razie potrzeby).

Jeśli „ persistent”, dane będą przechowywane najlepiej na dysku, tj. Poniżej hierarchii / var / log / journal (która jest tworzona w razie potrzeby), z możliwością powrotu do / run / log / journal (która jest tworzona w razie potrzeby), na początku uruchom i jeśli dysku nie można zapisać.

„ auto” jest podobne do „ persistent”, ale katalog nie/var/log/journal jest tworzony w razie potrzeby, więc jego istnienie kontroluje, dokąd trafiają dane dziennika.

„ none” wyłącza całą pamięć, wszystkie otrzymane dane dziennika zostaną usunięte.


0

Oprócz odpowiedzi Muru na temat miejsca przechowywania danych istnieją inne istotne odpowiedzi.

Jak zwiększyć, journalctlaby znaleźć poprzednie dzienniki rozruchu

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

Jak journalctlzmniejszyć rozmiar pliku

$ 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.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.