#!/bin/bash
# Передача дампа базы данных на удалённый хост
# Использование: ./upload_to_remote.sh DATABASE_NAME

set -euo pipefail

DB_NAME="${1:?Usage: $0 DATABASE_NAME}"

# Конфигурация удалённого хоста
REMOTE_HOST="107.161.50.242"
REMOTE_USER="root"
REMOTE_PASS="8j50CLqfQV2n336Y%"
REMOTE_DIR="/root/irelydata_dumps"

OUTPUT_DIR="/root/ir-assessment/redteam/irelydata/dumps"
ARCHIVE="$OUTPUT_DIR/${DB_NAME}_full_dump.tar.gz"

if [ ! -f "$ARCHIVE" ]; then
    echo "ERROR: Archive not found: $ARCHIVE"
    exit 1
fi

echo "=== Uploading $DB_NAME to remote host ==="
echo "→ Target: $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR"

# Создаём удалённую директорию
sshpass -p "$REMOTE_PASS" ssh -o StrictHostKeyChecking=no \
    "$REMOTE_USER@$REMOTE_HOST" "mkdir -p $REMOTE_DIR"

# Передаём архив
echo "→ Uploading archive..."
sshpass -p "$REMOTE_PASS" scp -o StrictHostKeyChecking=no \
    "$ARCHIVE" \
    "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/"

ARCHIVE_SIZE=$(du -h "$ARCHIVE" | cut -f1)
echo "→ Upload complete: $ARCHIVE_SIZE"

# Проверяем на удалённом хосте
echo "→ Verifying on remote..."
sshpass -p "$REMOTE_PASS" ssh -o StrictHostKeyChecking=no \
    "$REMOTE_USER@$REMOTE_HOST" "ls -lh $REMOTE_DIR/${DB_NAME}_full_dump.tar.gz"

echo "=== Upload successful ==="
