对于小硬盘VPS来说 空间还是挺重要的
有时候一不注意就会被系统日志占用很大一部分空间
这时候我们就需要限制日志文件的大小


第一行命令:journalctl --disk-usage

  • 作用
    显示 systemd journal(系统日志)当前占用的磁盘空间大小。
  • 输出示例

    Archived and active journals take up 1.9G in the file system.

    这表示日志文件(包括归档和活跃日志)总共占用了 1.9GB 磁盘空间。


第二行命令:

sudo sed -i 's/#SystemMaxUse=/SystemMaxUse=1G/' /etc/systemd/journald.conf && sudo systemctl restart systemd-journald

分解说明

  1. sudo sed -i 's/#SystemMaxUse=/SystemMaxUse=1G/' /etc/systemd/journald.conf

    • sed:流编辑器,用于对文件内容进行替换。
    • -i:直接修改文件内容(而非输出到终端)。
    • s/#SystemMaxUse=/SystemMaxUse=1G/

      • s/old/new/:将匹配的 old 替换为 new
      • 具体操作

        • 查找文件中以 #SystemMaxUse= 开头的行(通常被注释的配置项)。
        • 去掉注释符号 #,并设置值为 1G
      • 修改前(假设原文件内容):

        #SystemMaxUse=
      • 修改后

        SystemMaxUse=1G
    • 目的
      配置 systemd-journald 的日志最大磁盘占用为 1GB,超过后会自动清理旧日志。
  2. sudo systemctl restart systemd-journald

    • 作用
      重启 systemd-journald 服务,使配置文件 /etc/systemd/journald.conf 的修改生效。

整体目的

  • 限制日志占用空间
    通过设置 SystemMaxUse=1G,确保 systemd 日志文件的总大小不超过 1GB,避免因日志过大占用过多磁盘空间。
  • 自动清理机制
    当日志超过 1GB 时,systemd-journald 会自动删除旧日志,保留最新日志。

注意事项

  1. 配置文件路径
    确保 /etc/systemd/journald.conf 存在,且原文件中确实有 #SystemMaxUse= 这一行(通常是默认注释状态)。
  2. 权限问题
    需要 sudo 权限才能修改配置文件和重启服务。
  3. 验证配置
    修改后可再次运行 journalctl --disk-usage 检查日志占用情况,或通过 journalctl --help 确认其他参数。

补充说明

  • 如果希望设置其他值(如 500M),只需将 1G 替换为 500M
  • 若原配置文件中 SystemMaxUse 已存在且未被注释,需调整 sed 命令为直接修改值(如 s/SystemMaxUse=.*/SystemMaxUse=1G/)。

标签: linux, 删除, 系统日志文件, 限制大小

添加新评论