Linux 日志管理:journald、rsyslog 与 logrotate

「服务挂了但日志没有」、磁盘被日志写满、容器里找不到 journal,根因通常是 存储后端、持久化目录、速率限制与轮转策略 没对齐。

源码锚点

路径 / 手册 作用
man journalctl 查询 journal
man journald.conf 持久化、大小上限
/etc/systemd/journald.conf 主配置
man rsyslogd 传统 syslog
man logrotate 文本日志轮转

调用链

渲染错误: Mermaid 渲染失败: Lexical error on line 5. Unrecognized text. ...--> E/var/log/\*.log E --> F[logrot -----------------------^

重点知识

持久化

bash 复制代码
# /var/log/journal 存在且 Storage=persistent 时重启可查
mkdir -p /var/log/journal
systemctl restart systemd-journald
journalctl --disk-usage

SystemMaxUse= / RuntimeMaxUse= 防止日志吃光盘。

常用查询

bash 复制代码
journalctl -u nginx -b --no-pager
journalctl -p err..alert --since "1 hour ago"
journalctl -k -b   # 内核环缓
journalctl -f -u myapp

与 rsyslog

不少发行版 journald 仍转发到 rsyslog,文本文件继续给老脚本用。改一处前先确认应用写的是 journal、syslog 还是自己的文件。

logrotate

bash 复制代码
cat /etc/logrotate.d/*
logrotate -d /etc/logrotate.conf   # 演练

关注 daily/weekly、rotate、compress、copytruncate vs create。

嵌入式

只读根把 journal 指到可写分区;必要时 Storage=volatile 保寿命,关关键故障抓 /tmp 环形缓冲。

相关推荐
我是koten7 小时前
【运维杂谈】K8s遇到Terminating的名称空间删除不了怎么办?(解决方案亲测有效)
linux·运维·服务器·云原生·kubernetes·k8s·名称空间
2601_9679873715 小时前
安装 Redis 或 Redis Stack
linux·windows·redis·macos·安装
feng_you_ying_li15 小时前
linux之数据链路层
linux·网络·智能路由器
修己xj15 小时前
服务器无法解析域名?一次 DNS 配置缺失的排查与修复
运维
GeW16 小时前
高端化走到深处,是数据库和Linux的事
linux
程序员初一17 小时前
Linux 远程桌面有四种做法
linux·ssh
爱吃奥利奥_wen18 小时前
SQL Server 基础语法详解:从建库建表到约束与增删改查
服务器·数据库·oracle
程序开发阿元18 小时前
1C1G 能跑什么:把留常驻服务和不留摆进一张内存表
linux·ssh
xbzb20 小时前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo
Android系统攻城狮20 小时前
Linux FFmpeg深度解析之avio_open调用流程与实战(三十八)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频