#!/usr/bin/env bash
# ==============================================================================
# DBPros.Net Linux Shell Diagnostic & Sanitizer Collector
# ==============================================================================
# Usage: ./dbpros-sanitize-collect.sh [output_dir]

OUTPUT_DIR="${1:-./dbpros-diagnostic-bundle}"
mkdir -p "$OUTPUT_DIR"

echo "[*] Collecting system metrics to $OUTPUT_DIR..."

{
  echo "=== SYSTEM UPTIME & LOAD ==="
  uptime
  echo -e "\n=== MEMORY USAGE ==="
  free -h
  echo -e "\n=== SYSCTL TUNING ==="
  sysctl vm.swappiness vm.nr_hugepages 2>/dev/null || true
} > "$OUTPUT_DIR/raw_sys_metrics.txt"

# Sanitize raw metrics using sed regex
sed -i -E \
  -e 's/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[REDACTED_IP]/g' \
  -e 's/password[[:space:]]*=[[:space:]]*[^;[:space:]]+/password=[REDACTED_PASSWORD]/gI' \
  "$OUTPUT_DIR/raw_sys_metrics.txt"

echo "[+] Diagnostics captured & sanitized in $OUTPUT_DIR/raw_sys_metrics.txt"
