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

43

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

php_nub_qq
источник

Ответы:

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
Ну, журналы можно безопасно удалить, если вам не понадобится информация от них позже.
Муру
Обратите внимание, что по умолчанию systemd удаляет старые журналы, когда они достигают определенного процента используемого дискового пространства.
Mattdm
17

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

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

journalctl --list-boot

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

солнцестояние
источник
5
Однако журнал journald, вероятно, должен быть постоянным по умолчанию. [ошибка # 1618188] ( bugs.launchpad.net/ubuntu/+source/systemd/+bug/1618188 ) была открыта для отслеживания прогресса этого изменения. Проверьте там для последнего статуса.
Марк Стосберг
3

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

Обычно каталог хранения - это /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=опция " " определяет, хранить ли данные журнала или нет, и где. Возможные значения: « volatile», « persistent», « auto» и « none». По умолчанию " auto".

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

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

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

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

Демис Пальма ツ
источник
0

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

Как увеличить, 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.
WinEunuuchs2Unix
источник