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 环形缓冲。

相关推荐
高山有多高3 分钟前
【Linux笔记】Linux进程与守护进程
linux
天衍四九-22 分钟前
Docker容器实战系列(八):Docker生产最佳实践与避坑指南,系列终章
运维·docker·容器
大侠归来33 分钟前
Ubuntu 搭建 APUE 环境:从源码编译到第一个示例跑通
linux·运维·ubuntu
IT小白杨1 小时前
市场调研的自动化访问,怎样控制节奏才不被误判?
运维·经验分享·安全·自动化·指纹浏览器
Zhou1411362 小时前
Docker_03_DockerCompose多容器编排
运维·docker·容器
北京中科新远科技2 小时前
AI网卡五层检查法:协议、PCIe、NUMA、端口与验收
服务器·网络·人工智能
shdkfbbv2 小时前
【无标题】
linux·运维·服务器
wp123_12 小时前
TLVR 电感在 AI 服务器电源中的应用与市场前景分析
服务器·人工智能·科技·ai·硬件工程
周洲08303 小时前
STM32片内Flash读写深度详解|掉电参数保存、底层原理
linux·前端·stm32
shimly1234563 小时前
比 find + grep 更好用的 nm + addr2line
linux