34 lines
No EOL
1.2 KiB
Bash
34 lines
No EOL
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
# --- BITTE HIER ANPASSEN ---
|
|
|
|
# Live-Datenbank (Quelle)
|
|
LIVE_SSH_USER="dein_ssh_user"
|
|
LIVE_SSH_HOST="dein-server.de"
|
|
LIVE_DB_USER="dein_live_db_user"
|
|
LIVE_DB_PASS="dein_live_db_passwort"
|
|
LIVE_DB_NAME="deine_live_datenbank"
|
|
|
|
# Lokale Datenbank (Ziel)
|
|
LOCAL_DB_USER="dein_lokaler_db_user"
|
|
LOCAL_DB_PASS="dein_lokales_passwort"
|
|
LOCAL_DB_NAME="deine_lokale_datenbank"
|
|
|
|
# --- ENDE DER KONFIGURATION ---
|
|
|
|
# Stoppt das Skript sofort, wenn ein Befehl fehlschlägt
|
|
set -e
|
|
set -o pipefail
|
|
|
|
echo "Lokale Datenbank '$LOCAL_DB_NAME' wird zurückgesetzt..."
|
|
|
|
# 1. Lokale Datenbank löschen und neu erstellen (WARNUNG: Alle lokalen Daten gehen verloren)
|
|
mysql -u$LOCAL_DB_USER -p$LOCAL_DB_PASS -e "DROP DATABASE IF EXISTS $LOCAL_DB_NAME; CREATE DATABASE $LOCAL_DB_NAME CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
|
|
|
|
echo "Starte Live-Dump von $LIVE_SSH_HOST..."
|
|
|
|
# 2. Live-DB per SSH-Stream direkt in lokale DB importieren
|
|
# (Setzt voraus, dass 'mysqldump' auf dem Server und 'mysql' lokal im Pfad sind)
|
|
ssh $LIVE_SSH_USER@$LIVE_SSH_HOST "mysqldump --no-tablespaces -u$LIVE_DB_USER -p'$LIVE_DB_PASS' $LIVE_DB_NAME" | mysql -u$LOCAL_DB_USER -p$LOCAL_DB_PASS $LOCAL_DB_NAME
|
|
|
|
echo "✅ Synchronisierung abgeschlossen." |