#!/bin/bash 2 3# ========================= 4# 日志清理脚本 5# ========================= 6 7# 配置区 8LOG_DIR="/var/log/myapp" # 日志目录 9DAYS_TO_KEEP=7 # 保留最近 7 天的日志 10FILE_PATTERN="*.log" # 文件匹配模式(可改为 "*.out", "app-*.log" 等) 11DRY_RUN=false # true = 仅预览不删除;false = 实际删除 12CLEAN_LOG="/var/log/clean_logs.log" 13 14# 日志函数 15log() { 16 echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "$CLEAN_LOG" 17} 18 19# 检查目录是否存在 20if [ ! -d "$LOG_DIR" ]; then 21 echo "错误:日志目录不存在: $LOG_DIR" 22 exit 1 23fi 24 25log "开始清理日志(保留 $DAYS_TO_KEEP 天)..." 26 27# 构建 find 命令 28CMD="find \"$LOG_DIR\" -name \"$FILE_PATTERN\" -type f -mtime +$DAYS_TO_KEEP" 29 30if [ "$DRY_RUN" = true ]; then 31 log "[DRY RUN] 以下文件将被删除:" 32 eval "$CMD" | while read -r file; do 33 echo " $file" 34 log " DRY-RUN: $file" 35 done 36 log "DRY RUN 结束,未执行实际删除。" 37else 38 deleted_count=0 39 while IFS= read -r -d '' file; do 40 if rm -f "$file"; then 41 log "已删除: $file" 42 ((deleted_count++)) 43 else 44 log "删除失败: $file" 45 fi 46 done < <(eval "$CMD -print0") 47 48 log "清理完成,共删除 $deleted_count 个文件。" 49fi 50 51exit 0shell 日志清理脚本
张小明
前端开发工程师
揭秘Docker MCP 网关负载均衡机制:5步实现无缝流量分发
第一章:揭秘Docker MCP 网关负载均衡的核心价值 在现代微服务架构中,Docker MCP(Microservice Communication Platform)网关作为流量入口的中枢组件,其内置的负载均衡机制发挥着至关重要的作用。通过智能分发请求到多个…
(Dify Tesseract 更新机制终极指南):构建高可用AI应用的基石
第一章:Dify Tesseract 更新机制概述Dify Tesseract 是一个面向低代码 AI 应用开发平台的核心模块,其更新机制设计旨在确保系统在高可用性与数据一致性之间取得平衡。该机制通过版本快照、差量同步与自动回滚策略,实现应用配置与模型逻辑的平…
如何在7天内掌握R语言代谢组分析?资深生信专家的进阶路线图曝光
第一章:R语言代谢组分析的入门与核心概念代谢组学旨在系统性研究生物体内所有小分子代谢物的变化规律,是揭示生理与病理机制的重要手段。R语言凭借其强大的统计分析与可视化能力,成为处理代谢组数据的首选工具之一。通过R,用户可完…
【环境监测R语言实战指南】:掌握生态风险评估的7大核心技巧
第一章:R语言在环境监测中的生态风险评估概述R语言作为一门强大的统计计算与数据可视化工具,已被广泛应用于环境科学领域,尤其在生态风险评估中展现出卓越的数据处理能力。其丰富的扩展包生态系统,如sp, raster, sf和ggplot2&…
20、多处理器编程与线程池技术详解
多处理器编程与线程池技术详解 1. 多处理器底层架构 线程通过线程同步例程来同步对共享存储位置的访问。借助线程同步,在共享内存多处理器上运行程序与在单处理器上运行程序具有相同的效果。然而,在许多情况下,程序员可能会试图利用多处理器的特性,使用一些“技巧”来避免…
私有化部署Dify模型加载实战(从0到1性能跃迁)
第一章:私有化部署Dify模型加载概述在企业级AI应用中,私有化部署Dify平台成为保障数据安全与合规性的关键选择。通过将Dify部署于内部服务器或私有云环境,组织能够在隔离网络中完成大模型的接入、编排与服务发布,尤其适用于金融、…