Где хранятся данные "journalctl"?

Когда я выпускаю journalctl Я получаю обширный журнал всех системных служб, но где хранится вся эта информация?

4 ответа

Решение

От 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 журналы".

Короткий ответ

Обычно каталог хранения /var/log/journal или же /run/log/journal, но это не обязательно должно существовать в вашей системе.

Если вы просто хотите проверить количество места, которое журнал в настоящее время занимает на вашем диске, просто введите:

$ journalctl --disk-usage

Длинный ответ

Каталог хранилища зависит от конфигурации journald.

Конфигурационные файлы:

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

Там "Storage=msgstr "опция определяет, хранить ли данные журнала или нет, и где. Возможные значения"volatile","persistent","auto" а также "none". По умолчанию"auto".

Если "volatilemsgstr "данные журнала журнала будут храниться только в памяти, то есть ниже иерархии /run/log/journal (которая создается при необходимости).

Если "persistent"данные будут храниться предпочтительно на диске, то есть ниже иерархии /var/log/journal (которая создается при необходимости), с откатом на /run/log/journal (которая создается при необходимости), во время ранней загрузки и если диск не доступен для записи.

"auto" похож на "persistentно каталог /var/log/journal не создается при необходимости, поэтому его существование контролирует куда попадают данные журнала.

"none"отключает все хранилище, все полученные данные журнала будут удалены.

Однако обратите внимание, что Ubuntu по умолчанию не использует постоянный файл журнала journald. Только летучие /run/log/journal/<machine-id>/*.journal[~] хранится до следующей загрузки. Все теряется при каждой перезагрузке.

Вы можете увидеть список загрузки, сохраненной в журнале:

journalctl --list-boot

Журналы по-прежнему хранятся в текстовом файле под /var/log если вы не активировали использование постоянного журнала журнала, создав /var/log/journal каталог.

В дополнение к ответу Муру о том, где хранятся данные, есть и другие соответствующие ответы.

Как увеличить 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.
Другие вопросы по тегам