搜索结果: "logrotate"
共找到 18 个页面
幽灵文件排查 — 删了 200GB 日志磁盘却不释放
tags: [linux, troubleshooting, disk, filesystem, storage, command, monitoring, case-study, production, container, debugging, logrotate]
**正确的 logrotate 策略取决于应用是否支持 reopen。**
先用 `logrotate -d` dry-run 检查,不实际修改:
sudo logrotate -d /etc/logrotate.conf
sudo logrotate -v -f /etc/logrotate.d/nginx
Linux 磁盘空间排查 — 8 个命令 / 四种场景 / 生产清理流程
**根因:** logrotate 默认 `create` 指令(rename 后新建同名文件)会让进程的旧 FD 指向已被摘掉的 inode,句柄残留导致空间不释放。
# logrotate + crontab 定期清理
- **日志轮转必须配置** — 检查未被 logrotate 覆盖的日志文件
| [[linux-deleted-file-disk-space-reclaim]] | 幽灵文件深度排查 — 已删文件未释放的完整证据链(df/du 差值 / lsof +L1 / /proc 巡检 / mmap 与继承 FD / 截断取证 / logrotate 根治) |
服务器负载过高排查 — 案例实战 / Netflix 60 秒法 / 常见根因
→ logrotate 用 create(非 copytruncate)
> ⚠️ **观点分歧(2026-09-02 标注):** 本页早期结论(2026-05-11)把「logrotate `copytruncate`」直接列为长期方案。2026-08-11 的来源指出 `copytruncate` 先复制再截断,对大日志意味着一次全量复制、I/O 翻倍,不适合高写入速率场景。完整证据链见 [[linux-deleted-file-disk-space-reclaim]]。
| **日志 IO 打满** | wa 高, iotop 显示日志进程高 IO | 检查日志级别 + logrotate 配置 |
| [[linux-disk-space-troubleshooting]] | 磁盘空间排查(lsof deleted / logrotate + 生产清理流程) |
Nginx 访问日志暴涨排查手册 — 14 步定位异常 URI 与爬虫流量
**logrotate 优化**(/etc/logrotate.d/nginx):`daily` + `rotate 7~14` + `compress` + `delaycompress`(延迟一天压缩,避免压缩当天日志)+ `size 1G`(超 1GB 立即轮转)+ `maxage 14`(旧日志保留 14 天);**postrotate 用 `kill -USR1` 让 Nginx 重新打开日志文件**(不能 nginx -s reload,会断连接)。验证:`logrotate -f /etc/logrotate.d/nginx` 后 `ls -lh /var/log/nginx/` 应出现 access.log.1。
4. **日志清理**:rm 导致写入失效与空间不释放、清理过度无法追溯 → 用 logrotate 自动轮转、紧急用 `> file` 不用 rm、清理前转储对象存储、至少保留 7 天。
| 轮转调试/状态 | `logrotate -d /etc/logrotate.d/nginx`;`cat /var/lib/logrotate/status \| grep nginx` |
Wiki Schema
2026-09-02 拓宽:linux 57页(新增幽灵文件/已删未释放空间排查);总页数 176;新增标签 logrotate
- logrotate: 日志轮转(logrotate/journald/kubelet 容器日志)
MySQL 磁盘空间紧急处置指南 — 哪些文件能删,哪些绝不能动
若 `log_output=FILE`,安全做法是沿用已有 logrotate 机制:
sudo rg -n 'mysql|mysqld' /etc/logrotate.conf /etc/logrotate.d 2>/dev/null
K8s Pod Evicted 驱逐 — 根因排查与运维应对三板斧
日志轮转交给 sidecar 或节点级 logrotate。
**kubelet 自带容器日志轮转(推荐先确认):** 不需要额外装 logrotate,kubelet 就能按大小/份数轮转容器日志。确认当前发行版/托管平台支持这些字段,配置修改影响节点级容器日志保留,**需要灰度节点验证**:
Nginx 典型配置错误复盘 — 20+ 个踩坑点详解
**现象:** 磁盘 100%,access.log 几十 GB,logrotate 没生效。
# /etc/logrotate.d/nginx
Nginx 日志分析与 4xx/5xx/超时故障排查实战
# 配置 logrotate 和磁盘水位监控
# /etc/logrotate.d/nginx
Wiki Log
| 2026-09-02 | ingest | 删除 200GB 日志后磁盘没有释放,我是如何找到“幽灵文件”的(微信公众号「马哥Linux运维」) | 新建 raw/articles/2026-09-02-deleted-open-file-ghost-disk-space.md + concepts/linux/linux-deleted-file-disk-space-reclaim.md(主承载页完整手册:先止住增长保留现场/df-du 差值假设/lsof +L1 与 /proc 巡检双路径/inode 对比定位删除后仍写/释放三级优先 reopen→优雅重启→truncate 应急/取证 cp --sparse=always/mmap·继承 FD·容器三类漏网点/无 deleted FD 四类差异(挂载覆盖·ext4 保留块·硬链接稀疏文件·快照配额)/logrotate+journald+kubelet 根治/验证六判据+巡检告警脚本+复盘八问/一页速查表);**矛盾处理**:既有 linux-disk-space-troubleshooting 与 linux-server-load-case-study 曾直接推荐 copytruncate,新来源指出 copytruncate 先复制再截断、200GB 级日志 I/O 翻倍且复制窗口可能丢日志——两页均改为「reopen 机制 > copytruncate > 不作为」决策表 + ⚠️ 分歧标注,frontmatter 加 contested:true + contradictions;增量合并 8 页:journalctl 补 drop-in 容量上限(SystemMaxUse/SystemKeepFree/RuntimeMaxUse/MaxFileSec)+ 先定位源单元再 vacuum + 禁止 rm journal 文件 / online-troubleshooting-checklist 补 lsof -nP +L1 + 三点修正 / k8s-pod-evicted 补 kubelet containerLogMaxSize 轮转 + /var/log/pods 宿主机视角 + crictl+nsenter 定位 / linux-rm-rf-recovery-guide 补恢复目标盘不能是写满盘 + 稀疏性保留 / ops-interview-50 补 df-du 差异四类成因 + 释放顺序 / server-performance-four-dimensions 补 tune2fs -m 边界 + df-du 差异独立信号 / linux-rm-rf-ops-recovery-handbook 互链;index +1 页(Total 175→176);SCHEMA 注册 logrotate 标签;audit 2 轮通过 |
| 2026-09-05 | ingest | Nginx 访问日志暴涨,如何找出异常 URI 与爬虫流量(微信公众号「马哥Linux运维」2026-09-03) | 新建 raw/articles/2026-09-05-nginx-log-spike-crawler-troubleshooting.md(sha256 a3239b8f…,31137 字符)+ concepts/nginx/nginx-log-spike-crawler-troubleshooting.md 主承载页(322 行 14 步 runbook:六类根因×六维分析 / URI·IP·UA·状态码·时间五维定位含爬虫占比30%线·单IP10%线·10分钟50%线 / IP+URI+UA 根因矩阵 / 止血 deny·map·limit_req / 日志过滤 if=$loggable·logrotate size 1G·禁rm清理 / 长期防护 WAF·Crawl-delay·Lua采样·四类告警维度 / 验证·深度分析·回滚预案 / 五条排查路径·四类风险红线·生产变更纪律);查重:既有 troubleshooting-guide 为知识域手册、本文为场景 runbook 互补不重复建页,Top统计·UA map·limit_req·logrotate USR1 重复内容不复述;增量合并 4 页(troubleshooting-guide 修 awk /i 大小写 bug+暴涨速查三样+工具链表补 ngxtop·mtail / monitoring-guide 暴涨四类告警维度+Grafana 12708·11199+关联页面表转标准列表 / security-config-guide 空UA拦截+Crawl-delay边界+屏蔽误伤三类+关联页面表转列表 / config-pitfalls 补3空描述+新行);反向补链 8 页;修正原文 HTML 转义残缺 4 处($9<=599、math.random<=10、wc -l < 重定向、步骤8组合命令字段错位);index +1(Total 179→180);SCHEMA nginx 14 页 |
MySQL / Redis 常见故障排查速查清单
**修复**:配置 logrotate 定期轮转。
CPU 飙高三命令排查法 — top → strace → /proc/PID/fd/ 实战
# 或添加 logrotate 日志轮转
内核日志持久化指南 — 从 rsyslog 到 journalctl 配置详解
# /etc/logrotate.d/kern
Linux 目录结构完全指南 — FHS 标准与运维实战
├── logrotate.d/ # 日志切割配置
Linux 高频运维命令全梳理 — 生产级命令参考手册
| 日志 | `tail`, `head`, `less`, `grep`, `awk`, `sed`, `journalctl`, `dmesg`, `logrotate` |
服务器安全加固清单 — 新机器上线前必做的 20 件事
# /etc/logrotate.d/custom
Nginx 日志分析与监控体系构建指南
配合系统 logrotate 或 cron 定时执行,避免单文件过大影响磁盘和查询性能。
Wiki Index
- [[linux-deleted-file-disk-space-reclaim]] — 幽灵文件深度排查:rm 掉 200GB 日志磁盘却不释放的完整证据链 — df/du 差值建立假设、lsof -nP +L1 与 /proc 巡检双路径定位持有者、inode 对比确认进程仍在写、释放手段三级优先(reopen/reload → 优雅重启 → truncate 应急)、mmap/继承 FD/容器三类漏网点、无 deleted FD 的四类差异成因(挂载覆盖/ext4 保留块/硬链接稀疏文件/快照配额)、logrotate 与 journald 容量根治、自动巡检告警脚本与复盘八问