新闻详情

新闻详情

首页 / 资讯中心 / 详情

Ubuntu 22.04 系统日志清理实战:journalctl 命令释放 5GB+ 磁盘空间

发布时间:2026/11/4 18:16:27来源:尧图网络
Ubuntu 22.04 系统日志清理实战:journalctl 命令释放 5GB+ 磁盘空间
Ubuntu 22.04 系统日志深度清理指南从基础操作到自动化运维当你的Ubuntu系统运行一段时间后可能会发现磁盘空间莫名其妙地减少。系统日志往往是占用空间的隐形杀手之一特别是对于长期运行的服务器或频繁调试的开发环境。本文将带你深入理解Ubuntu 22.04的日志系统并提供一套从基础到高级的完整清理方案。1. 理解Ubuntu日志系统架构现代Ubuntu系统采用journald和rsyslog双重日志系统协同工作。理解这一架构是高效管理日志的前提。journald是systemd的一部分负责收集来自内核、系统服务和应用程序的日志。它的主要特点包括二进制格式存储检索效率高结构化日志记录附带元数据如时间戳、服务名等支持按多种条件过滤如时间范围、服务单元而传统的rsyslog则继续处理文本格式日志主要将日志写入/var/log目录下的各种文件。两者通过管道协同工作journald通常作为日志的第一接收者。日志存储位置对比日志类型存储位置管理工具二进制日志/var/log/journal/journalctl传统文本日志/var/log/syslog等直接查看或使用logrotate提示Ubuntu 22.04默认启用持久化journald日志这意味着即使重启系统日志也不会丢失但会占用更多磁盘空间。2. 日志空间占用分析与基础清理在开始清理前我们需要先诊断当前的日志占用情况。2.1 检查日志磁盘占用# 检查journald日志总大小 journalctl --disk-usage # 检查/var/log目录大小 sudo du -sh /var/log典型输出可能如下Journals take up 3.7G in the file system. 4.2G /var/log2.2 基础清理命令对于journald日志最常用的清理方法是通过时间和大小限制# 保留最近7天的日志 sudo journalctl --vacuum-time7d # 或限制日志总大小为500MB sudo journalctl --vacuum-size500M # 组合使用保留7天或500MB取两者中较大的 sudo journalctl --vacuum-time7d --vacuum-size500M对于传统日志文件可以手动清理或使用logrotate# 清空特定日志文件如syslog sudo truncate -s 0 /var/log/syslog # 强制logrotate立即执行轮转 sudo logrotate -f /etc/logrotate.conf3. 高级日志管理策略基础清理只能解决一时之需要实现长期有效的日志管理需要更系统的策略。3.1 配置journald持久化策略编辑/etc/systemd/journald.conf文件调整以下参数[Journal] # 持久化存储 Storagepersistent # 最大单个日志文件大小 SystemMaxUse1G # 最大日志文件总大小 SystemMaxFileSize200M # 最大保存时间 MaxRetentionSec1week修改后需要重启journald服务sudo systemctl restart systemd-journald3.2 优化rsyslog配置在/etc/rsyslog.d/目录下创建自定义配置文件如50-custom.conf添加如下内容# 限制特定日志文件大小 $outchannel log_rotation,/var/log/custom.log, 1000000,/path/to/rotate_script.sh # 应用规则到特定日志源 if $programname someapp then :omfile:$log_rotation3.3 自动化清理脚本创建一个可定期执行的清理脚本/usr/local/bin/clean_logs.sh#!/bin/bash # 清理journald日志 journalctl --vacuum-time7d --vacuum-size500M # 清理旧的压缩日志文件 find /var/log -name *.gz -mtime 30 -delete find /var/log -name *.1 -mtime 30 -delete # 清空特定应用程序日志 truncate -s 0 /var/log/nginx/access.log truncate -s 0 /var/log/nginx/error.log # 清理临时目录 find /tmp -type f -atime 7 -delete设置可执行权限并添加到cronsudo chmod x /usr/local/bin/clean_logs.sh sudo crontab -e添加以下行实现每周自动清理0 3 * * 0 /usr/local/bin/clean_logs.sh /dev/null 214. 场景化清理方案不同用途的系统需要不同的日志管理策略。以下是三种典型场景的推荐配置。4.1 开发环境配置开发机器通常需要保留较多调试信息但也要防止日志膨胀journald配置SystemMaxUse2G MaxRetentionSec2week针对开发工具的日志管理# 限制Docker容器日志大小 sudo mkdir -p /etc/docker echo {log-driver:json-file,log-opts:{max-size:10m,max-file:3}} | sudo tee /etc/docker/daemon.json # 重启Docker使配置生效 sudo systemctl restart docker4.2 生产服务器配置生产环境需要平衡日志详细度和存储压力关键日志保留3个月非关键日志保留1个月实现日志分级存储热数据/冷数据示例logrotate配置/etc/logrotate.d/server/var/log/server/*.log { daily missingok rotate 90 compress delaycompress notifempty create 0640 root adm sharedscripts postrotate /usr/lib/rsyslog/rsyslog-rotate endscript }4.3 桌面环境配置桌面用户可以更激进地清理日志# 将journald存储改为volatile重启后丢失 sudo sed -i s/#Storageauto/Storagevolatile/ /etc/systemd/journald.conf # 限制日志总大小为200MB sudo sed -i s/#SystemMaxUse/SystemMaxUse200M/ /etc/systemd/journald.conf # 应用更改 sudo systemctl restart systemd-journald5. 日志清理的注意事项与最佳实践在实施日志清理时需要注意以下关键点保留关键证据安全相关日志如auth.log应保留更长时间清理前备份执行大规模清理前备份重要日志监控日志增长设置警报监控/var/log分区使用率合规要求确保日志保留时间符合行业法规要求推荐的日志监控命令# 实时监控日志增长 watch -n 60 df -h /var/log; du -sh /var/log/* | sort -h # 查找大日志文件 find /var/log -type f -size 100M -exec ls -lh {} \;通过本文介绍的方法你可以有效管理系统日志空间占用同时确保不丢失重要的日志信息。根据你的具体需求调整参数建立适合自己工作环境的日志管理策略。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/4 15:56:54

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/3 12:09:35

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/4 17:01:23

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/4 12:33:12

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/4 1:25:31

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/4 3:51:11

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉