麒麟os /var/log 目录膨胀可采用五种方法清理:一、journalctl限制journald日志大小或时间;二、logrotate强制轮转或调试;三、truncate清空大日志文件内容;四、批量删除过期.gz归档及编号日志;五、麒麟管家图形化清理历史日志。

如果您发现麒麟操作系统中 /var/log 目录持续膨胀,占用大量磁盘空间,很可能是系统日志(如 syslog、kern.log、journald 二进制日志等)长期未清理所致。以下是多种可立即执行的清理方法:
一、使用 journalctl 清理 systemd-journald 日志
systemd-journald 将日志以二进制格式存储在 /var/log/journal/,若未设限可能单月生成数GB数据。该方式适用于所有启用 systemd 的麒麟OS版本(V10/V11),无需安装额外组件。
1、限制日志总大小为 100MB,自动删除旧条目:journalctl --vacuum-size=100M
2、仅保留最近两周的日志:journalctl --vacuum-time=2weeks
3、查看当前 journald 占用磁盘空间:journalctl --disk-usage
二、使用 logrotate 配置并触发日志轮转
logrotate 是麒麟OS默认集成的日志轮转工具,通过配置可对 /var/log/ 下文本日志(如 syslog、kern.log、auth.log)实现定期切割、压缩与删除,避免单文件无限增长。
1、手动强制执行一次全局轮转(跳过条件判断,立即生效):sudo logrotate -f /etc/logrotate.conf
2、查看轮转后是否生成带数字后缀的归档文件(如 syslog.1、kern.log.1)及原文件是否被清空或重置
3、若需验证配置逻辑而暂不实际删除,运行调试命令:sudo logrotate -d /etc/logrotate.conf
三、直接清理指定大体积日志文件
当 /var/log/syslog 或 /var/log/kern.log 已达数十GB且需快速释放空间时,可安全清空其内容(保留文件节点,避免服务写入失败),但不可直接删除文件本身。
1、清空 syslog 文件内容:sudo truncate -s 0 /var/log/syslog
2、清空 kern.log 文件内容:sudo truncate -s 0 /var/log/kern.log
3、确认清空结果:sudo ls -lh /var/log/syslog /var/log/kern.log
四、扫描并删除过期日志归档
/var/log/ 下历史归档(如 messages.1.gz、syslog.7)常因 logrotate 保留策略过宽而堆积,人工识别后可批量清除。
1、列出 /var/log/ 下全部压缩日志归档(按大小倒序):ls -lSh /var/log/*.gz | head -n 10
2、删除所有 .gz 后缀归档文件:sudo rm /var/log/*.gz
3、删除编号大于 3 的非压缩轮转日志(如 messages.4、syslog.5):sudo rm /var/log/*.?[4-9] /var/log/*.??[4-9]
五、使用麒麟管家图形化清理日志项
麒麟管家是银河麒麟桌面版内置维护工具,对普通用户友好,能安全识别并勾选 /var/log/ 下可清理的历史日志文件(如 syslog.1、kern.log.2),避免误删活动日志。
1、点击左下角“开始菜单”,在搜索框输入 麒麟管家 并启动
2、在主界面左侧导航栏中,点击 垃圾清理 模块
3、点击 开始扫描,等待完成
4、勾选高亮显示的 /var/log/ 下带编号后缀的历史日志文件(如 syslog.1、kern.log.2)
5、点击 一键清理,确认执行











