怎样配置journald服务的日志文件路径?
美国、香港服务器
怎样配置journald服务的日志文件路径?
11-10 来源:
重点先说:**journald 不能自定义随便指定目录**(比如 /data/journal),它只支持二选一:
> - volatile:`/run/log/journal`(内存,重启丢失)
> - persistent:`/var/log/journal`(持久化磁盘)
如果想放到别的分区(比如单独数据盘),正确做法是:**把 /var/log/journal 挂载到其他磁盘**,而不是改配置里的路径。
## 一、修改存储模式(/etc/systemd/journald.conf)
# 编辑配置
vi /etc/systemd/journald.conf
找到 `Storage=`
# Storage=auto
Storage=persistent
可选值:
- `persistent`:优先持久化 `/var/log/journal`,目录不存在会自动创建
- `volatile`:只存内存 `/run/log/journal`
- `auto`:默认,有 `/var/log/journal` 就持久,否则内存
改完重启服务生效:
systemctl restart systemd-journald
## 二、需求:把日志放到其他磁盘(比如 /data/journal)
### 步骤 1:准备数据目录
mkdir -p /data/journal
### 步骤 2:迁移原有日志(如果已有)
rsync -av /var/log/journal/ /data/journal/
### 步骤 3:备份原目录,做挂载(fstab 绑定挂载)
mv /var/log/journal /var/log/journal.bak
mkdir /var/log/journal
查看 /data/journal 的 UUID(换成你自己的)
blkid /dev/xxx
编辑 `/etc/fstab`,增加一行绑定挂载:
/data/journal /var/log/journal none bind 0 0
挂载生效:
mount -a
### 步骤 4:验证挂载 + 重启 journald
df -h /var/log/journal
systemctl restart systemd-journald
原理:journald 仍然读写 `/var/log/journal`,内核把它转发到你的数据盘目录,符合 journald 设计限制。
## 三、配套常用配额(防止打满磁盘,一起配在 journald.conf)
SystemMaxUse=1G
SystemMaxFileSize=100M
- SystemMaxUse:journal 日志总上限
- SystemMaxFileSize:单个日志文件最大
## 四、检查是否生效
# 查看当前存储模式
journalctl -o short -p info | head
# 查看日志存放位置
journalctl --list-boots
# 查看占用
journalctl --disk-usage
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快