独立服务器日志定时自动清理脚本
该脚本用于在独立服务器上定时自动清理日志文件,通过配置保留天数(如7天)和指定日志路径,结合Linux cron实现周期性执行,脚本使用find命令精准筛选并安全删除过期日志,支持日志轮转前的备份与压缩选项,并具备错误日志记录和执行通知功能,有效防止磁盘空间耗尽,提升系统稳定性与运维效率。
《轻装上阵:一个安全、可配置的独立服务器日志定时自动清理脚本》
在运维实践中,独立服务器(如物理机或专属云主机)的日志积累往往是“沉默的隐患”——Nginx访问日志、系统journal、应用日志(如Java、Python服务输出)若长期不清理,轻则磁盘告警,重则触发OOM或服务中断,手动清理既低效又易遗漏,而盲目使用logrotate又可能因配置不当导致日志截断失败或权限异常。
为此,我们设计了一个轻量、透明、可审计的定时清理脚本——不依赖复杂框架,仅用标准Shell+crontab,兼顾安全性与可维护性。
脚本核心逻辑分三层:
✅ 智能识别:自动扫描 /var/log/ 及常用应用目录(如 /opt/myapp/logs/),跳过正在被进程打开的活跃日志(通过lsof -t校验),避免误删;
✅ 分级保留:支持按“天数”(如保留30天)或“文件数”(如最多保留10个压缩归档)双策略,关键日志(如secure、messages)默认启用更保守的保留策略;
✅ 安全清理:先Gzip压缩再rm删除,全程记录操作日志到/var/log/cleaner.log,含时间戳、清理路径、释放空间量(单位MB),便于回溯审计。
示例脚本片段(精简版):
#!/bin/Bash KEEP_DAYS=30 LOG_ROOTS=("/var/log" "/opt/app/logs") LOG_EXCLUDE=("*.tmp" "current.log" "debug.*") for root in "${LOG_ROOTS[@]}"; do [ -d "$root" ] || continue find "$root" -type f \( -name "*.log" -o -name "*.out" \) \ -mtime +$KEEP_DAYS \ -not -exec lsof -t {} + 2>/dev/null \; \ -print0 | while IFS= read -r -d '' file; do if [[ "$(basename "$file")" =~ ^(access|error|app)\.log$ ]]; then gzip -q "$file" && echo "$(date): compressed $file" >> /var/log/cleaner.log else rm -f "$file" && echo "$(date): removed $file" >> /var/log/cleaner.log fi done done # 记录本次释放空间 echo "$(date): cleaned $(du -sh /var/log | cut -f1) total" >> /var/log/cleaner.log
部署仅需三步:
1️⃣ 将脚本保存为/usr/local/bin/log-cleaner.sh,赋予执行权限(chmod +x);
2️⃣ 编辑crontab(sudo crontab -e),添加:
0 3 * * * /usr/local/bin/log-cleaner.sh >/dev/null 2>&1
(每日凌晨3点执行,避开业务高峰);
3️⃣ 首次运行前建议手动执行并检查日志,确认路径与策略符合预期。
⚠️ 注意事项:
- 脚本默认跳过
journalctl日志(应由systemd自身管理),如需清理请单独配置SystemMaxUse=参数; - 若应用使用log4j等框架,确保其配置未开启“永远追加”模式,否则可能生成超大单文件;
- 建议搭配
df -h /监控告警,当根分区使用率>85%时触发人工介入。
这个脚本不追求“全自动黑盒”,而是把控制权交还给运维者——策略清晰、行为可查、修改简单,它不是万能解药,却是独立服务器稳定运行的一道务实防线,日志的价值在于“可用时有用”,而非“堆积时占坑”,让服务器真正轻装上阵,从一次干净的定时清理开始。(全文约980字)
热门产品
弹性云服务器
强悍硬件配置结合弹性云服务器采用纯SSD架构硬件设备,只需几分钟,便可轻松云端获取和启用,实现您的计算需求。
立刻选购跨境云服务器
助力出海业务快速部署我们在全球多个地域,和可用区部署云数据中心,并采用CN2网络,优化网络访问体验 瞬达全球。
立刻选购企业邮箱
让邮件畅通全球让每一封商务邮件高效送达安全稳定企业邮箱 深耕行业廿余载,业内首推外贸专属邮箱,让邮件畅通全球。
立刻选购裸金属服务器
主流服务器配置裸金属服务器 弹性伸缩的高性能计算服务 可根据客户行业和业务特点,个性化定制服务器租用方案。
立刻选购