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"