Tag - 清理日志

清理日志脚本

2025-09-03 17:13:00    2    0    0
LOG_DIR="/var/project/dnp/logs/nginx"    # 要清理的日志目录
CLEANUP_LOG="/var/project/dnp/logs/nginx/log_cleanup.log"  # 清理操作的记录文件
RETENTION_DAYS=60               # 保留60天(约两个月)

# 创建日志目录(如果不存在)
mkdir -p "$(dirname "$CLEANUP_LOG")"
touch "$CLEANUP_LOG"

# 记录开始时间
echo "==============================================" >> "$CLEANUP_LOG"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 开始清理日志" >> "$CLEANUP_LOG"
echo "目录: $LOG_DIR" >> "$CLEANUP_LOG"
echo "保留天数: $RETENTION_DAYS" >> "$CLEANUP_LOG"

# 执行清理并记录结果
{
    echo "以下文件将被删除:"
    find "$LOG_DIR" -name "*.log" -type f -mtime +$RETENTION_DAYS -print
    
    echo "开始删除..."
    find "$LOG_DIR" -name "*.log" -type f -mtime +$RETENTION_DAYS -delete
    
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] 清理完成"
    echo "磁盘使用情况:"
    df -h "$LOG_DIR"
} >> "$CLEANUP_LOG" 2>&1

# 设置日志文件权限(可选)
chmod 640 "$CLEANUP_LOG"