“ journalctl”数据存储在哪里?


Answers:


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,2016年

5
好吧,除非您稍后需要它们的信息,否则删除日志是安全的。
muru

请注意,默认情况下,systemd将删除较旧的日志,因为它们接近所用磁盘空间的一定百分比。
mattdm

17

但是请注意,Ubuntu默认不使用持久日志日志文件。仅易失性/run/log/journal/<machine-id>/*.journal[~]会保留到下一次引导。每次重新启动时,所有内容都会丢失。

您可能会在日志中看到带有以下内容的引导列表:

journalctl --list-boot

/var/log除非您通过创建/var/log/journal目录激活了使用持久日志日志的日志,否则日志仍将保存在文本文件下。


5
然而,journald日志按理说应该是默认持久。[bug#1618188](bugs.launchpad.net/ubuntu/+source/systemd/+bug/1618188)已打开,以跟踪此更改的进度。检查那里的最新状态。
马克·斯托斯伯格

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.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.