![“journalctl” 数据存储在哪里?](https://linux22.com/image/1143785/%E2%80%9Cjournalctl%E2%80%9D%20%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E5%9C%A8%E5%93%AA%E9%87%8C%EF%BC%9F.png)
当我发布时,journalctl
我得到了所有系统服务的大量日志,但是所有这些信息存储在哪里?
答案1
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
日志”。
答案2
但请注意,Ubuntu 默认不使用持久性 journald 日志文件。只有易失性日志文件/run/log/journal/<machine-id>/*.journal[~]
会保留到下次启动。每次重启后所有内容都会丢失。
您可能会看到日志中保留的启动列表,其中包含:
journalctl --list-boot
/var/log
除非您通过创建目录激活了持久日志的使用,否则日志仍会保存在文本文件中/var/log/journal
。
答案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
”关闭所有存储,所有收到的日志数据将被删除。
答案4
除了 Muru 关于数据存储位置的回答之外,还有其他相关答案。
如何增加journalctl
查找以前的启动日志
$ sudo mkdir -p /var/log/journal
$ sudo systemd-tmpfiles --create --prefix /var/log/journal
如何减小journalctl
文件大小
$ sudo journalctl --vacuum-size=200M
Deleted archived journal /var/log/journal/d7b25a27fe064cadb75a2f2f6ca7764e/[email protected]~ (56.0M).
Deleted archived journal /var/log/journal/d7b25a27fe064cadb75a2f2f6ca7764e/[email protected]~ (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.