Logrotate 实战避免日志把服务器磁盘写满分类运维知识Logrotate 适合应用日志、脚本日志和反代日志持续增长的服务器。这类主题真正跑起来并不难难的是上线后稳定、可备份、能排错。本文按实操方式整理一套可以直接落地的流程默认你已经会登录 Linux 服务器并能使用 Docker Compose、systemctl 和基础防火墙命令。核心特性 / 为什么选择 Logrotate重点目标是按天切割、压缩旧日志、保留周期这些点决定了后续维护成本。配置集中在一个项目目录里服务、数据、备份脚本和反代规则都能按目录迁移。方案尽量选择容器化或系统原生命令避免把依赖散装到系统里后续升级和回滚更容易。服务器配置建议Logrotate 的配置选择要看使用人数、数据量和是否有重任务。入门不要只追求最低价格至少要给系统日志、备份压缩、镜像更新和临时文件留出余量。建议系统盘 40G 起步长期保存数据的项目单独挂载数据盘如果服务涉及图片、视频、游戏存档或数据库磁盘 I/O 比单纯 CPU 核心数更影响体验。我把这套服务部署在雨云服务器 rainyun-com的 1 核 2G 机型上处理常见应用日志轮转基本没有负担。注册填优惠码2026off领 5折这个配置性价比很高。安装步骤准备一台干净的 Ubuntu 22.04 或 Debian 12 服务器先完成 SSH 密钥登录、防火墙和系统更新。如果是 Web 服务把域名 A 记录解析到服务器公网 IP如果是游戏或网络服务确认云安全组已经放行对应端口。创建项目目录/opt/linux-logrotate-practice-20260519。所有配置、数据和备份说明都放在这里迁移时直接打包目录。写入配置文件后先在本机端口验证再开放给外部访问。不要一边改配置一边导入大量正式数据。运维类操作建议先在测试服务器或低风险时间窗口演练一遍。涉及 SSH、防火墙、磁盘和定时任务时务必保留回滚路径。配置文件核心配置或命令模板如下复制前先根据自己的端口、用户名、路径做替换/var/log/myapp/*.log { daily rotate 14 compress delaycompress missingok notifempty copytruncate }执行命令sudologrotate-d/etc/logrotate.d/myappsudologrotate-f/etc/logrotate.d/myapp启动和验证验证不要只看“容器是 running”或“命令没有报错”。更可靠的方式是访问入口、写入一条测试数据、重启服务再确认数据仍然存在。对运维任务来说则要看状态、日志和实际效果是否一致。sudologrotate-d/etc/logrotate.d/myappsudologrotate-f/etc/logrotate.d/myapp如果验证失败先按顺序检查三件事配置文件语法、端口监听状态、日志里的第一条错误。很多问题不是服务本身坏了而是端口被占用、域名没解析、密码写错或数据目录权限不对。常用操作 / 使用技巧查看日志或状态时先从当前项目目录执行避免误操作到其他服务。每次升级前先备份再拉取镜像或修改配置升级后观察日志 3 到 5 分钟。密码、Token、数据库口令不要写进公开仓库生产环境至少放在.env或权限更严格的配置文件里。每天 10M 和每天 5G 的日志不能用同一套保留策略先估算增长速度。备份 / 升级备份要分清“可再生成”和“不可丢失”的内容。缓存、临时文件、转码文件通常可以丢数据库、上传文件、配置文件、存档和密钥不能丢。升级前先做一次手动备份确认备份包能解压再进行版本更新。sudomkdir-p/opt/backups/linux-logrotate-practicesudocp-a/opt/linux-logrotate-practice-20260519 /opt/backups/linux-logrotate-practice/snapshot-$(date%F)2/dev/null||true建议至少保留最近 7 天每日备份和最近 3 个月每月备份。重要数据再同步到另一台服务器或本地硬盘单机备份挡不住磁盘损坏和误删。