必须手动开启journald持久化记录功能,因默认Storage=volatile导致重启后日志丢失;需创建/var/log/journal目录、将journald.conf中Storage设为persistent、重启systemd-journald服务。

如果您在统信UOS中发现journalctl查不到历史启动日志、服务重启后日志消失、或无法回溯三天前的系统行为,说明journald默认的易失性日志存储未启用,必须手动开启持久化记录功能。
确认当前日志存储模式
打开终端,执行:sudo grep "^Storage=" /etc/systemd/journald.conf。
若输出为Storage=volatile,表示日志仅存于内存和/run/log/journal/,重启即清空——【这是导致历史日志丢失的根本原因】。
若输出为空或报错“no such file”,说明配置文件使用默认值,等效于volatile模式。
创建持久化日志存储目录
执行命令创建标准路径:sudo mkdir -p /var/log/journal。
这一步必须完成,否则后续配置生效时journald会拒绝写入并静默降级为volatile模式。
修改journald配置启用持久化
用文本编辑器打开配置文件:sudo nano /etc/systemd/journald.conf。
找到#Storage=auto这一行,删除开头的#取消注释,并将值改为persistent,整行变为:Storage=persistent。
若该行不存在,就在文件末尾新增一行:Storage=persistent。
【切勿写成Storage=auto或Storage=journal,只有persistent才能确保日志落盘】。
重启journald服务使配置生效
执行:sudo systemctl restart systemd-journald。
重启后,journald会自动将现有内存日志刷入/var/log/journal/,并开始持续写入新日志。
验证是否成功:运行sudo ls /var/log/journal/,应看到一个以十六进制字符串命名的子目录,且其下有system.journal等文件。

















