193 字
1 分钟
Linux 定期清理日志文件脚本(Crontab)
日志文件不断累积会耗尽磁盘空间,影响服务稳定性。通过 Shell 脚本 + Crontab 可以自动清理超过指定天数的旧日志,同时保留近期日志以便问题追溯。
清理脚本
将以下内容保存为 /app/clear-logfile.sh,按需修改日志目录和保留天数:
#!/bin/bash
# 日志目录(修改为实际路径)LOG_DIR=/opt/app/logs# 保留最近 N 天的日志KEEP_DAYS=7
echo "开始清理日志..."
# 查找并删除超过 KEEP_DAYS 天的 .log 文件find ${LOG_DIR}/* -mtime +${KEEP_DAYS} -name "*.log" -exec rm -rf {} + 2>&1
echo "日志清理完成"TIP
find命令参数说明:
-mtime +7:查找 7 天前修改的文件-name "*.log":只匹配.log文件,可改为*匹配所有文件-exec rm -rf {} +:批量删除匹配到的文件
赋予执行权限
chmod +x /app/clear-logfile.sh配置 Crontab 定时执行
crontab -e添加以下内容(每天 23:00 执行):
0 23 * * * /app/clear-logfile.sh常用 Crontab 时间格式参考:
| 表达式 | 含义 |
|---|---|
0 23 * * * | 每天 23:00 |
0 */6 * * * | 每 6 小时 |
0 0 * * 0 | 每周日 00:00 |
0 0 1 * * | 每月 1 日 00:00 |
# 查看已配置的定时任务crontab -l 分享
如果这篇文章对你有帮助,欢迎分享给更多人!
Linux 定期清理日志文件脚本(Crontab)
https://blog.olinl.com/posts/log-cleanup-script/ 相关文章 智能推荐
1
Linux 管理 JAR 服务的 Shell 脚本
Linux 系统管理 提供一个开箱即用的 Shell 脚本,用于管理 Java JAR 包服务的启动、停止、重启与状态查看,适合生产环境部署。
2
Linux 服务器时间同步配置(Chrony)
Linux 系统管理 使用 Chrony 工具为 Linux 服务器配置时间同步,支持阿里云、腾讯云等国内 NTP 源及内网 NTP 服务器。
3
服务器初始化完整配置流程
HomeLab 私有云 记录生产环境服务器从零开始的完整初始化流程,包括换源、时区配置、K8s 集群搭建、MinIO、Redis 集群、MySQL 单节点安装。
4
Docker 生产环境配置(存储目录迁移 / 日志限制)
虚拟化与容器 介绍生产环境中 Docker 的常用配置,包括将默认存储目录迁移到数据盘、限制容器日志大小,以及配置私服镜像地址。
5
修改 Kubelet 默认工作目录
虚拟化与容器 介绍如何将 Kubelet 的默认工作目录从系统盘迁移到数据盘,包括修改配置法和软链法两种方案,以及 kubeadm 初始化时直接指定工作目录的方法。
