You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改journalctl(systemd日志)的数据存储位置?

如何修改journalctl(systemd日志)的数据存储位置?

完全理解你的顾虑——机房里的服务器不敢瞎折腾,怕搞砖了没法现场救,直接用软链接确实是野路子,systemd早就有官方的标准方法,一步步来很稳:

  • 第一步:先确认当前状态
    先看看现在日志占了多少空间、存在哪,执行:

    journalctl --disk-usage
    

    再检查默认配置文件的内容,看看有没有已经被修改过的地方:

    cat /etc/systemd/journald.conf
    
  • 第二步:准备新的存储目录
    假设你想把日志移到/mnt/new-journal这个路径(替换成你实际要用到的目录),先创建目录并设置正确的权限——systemd-journald对目录权限有要求,必须让它能正常读写:

    mkdir -p /mnt/new-journal
    chown root:systemd-journal /mnt/new-journal
    chmod 2755 /mnt/new-journal
    
  • 第三步:修改journald的核心配置
    编辑/etc/systemd/journald.conf这个配置文件(建议先备份一份:cp /etc/systemd/journald.conf /etc/systemd/journald.conf.bak),找到下面两行,去掉开头的#注释,改成你需要的内容:

    Storage=persistent
    JournalDirectory=/mnt/new-journal
    

    这里Storage=persistent是指定日志要持久化存储(不是临时存在内存里),JournalDirectory就是你刚才创建的新路径。

  • 第四步:迁移旧日志(可选但推荐)
    如果不想丢失之前的日志,先停掉journald服务:

    systemctl stop systemd-journald.service
    

    然后把旧目录下的所有内容完整复制到新目录:

    cp -a /var/log/journal/* /mnt/new-journal/
    

    复制完成后可以再检查一下新目录里的文件权限,确保和旧的一致。

  • 第五步:验证配置生效
    重启journald服务:

    systemctl start systemd-journald.service
    

    再用journalctl --disk-usage查看,应该显示新的存储路径了。另外可以写一条测试日志验证:

    logger "测试日志存储路径修改"
    

    然后用journalctl -n 1查看最新的日志,能看到这条测试内容就说明没问题了。

  • 最后:清理旧目录(可选)
    确认新路径完全正常运行几天后,再考虑删除旧的/var/log/journal目录,或者把它备份到其他地方。

备注:内容来源于stack exchange,提问作者guesty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 12:33:11