19 lines
716 B
Bash
Executable File
19 lines
716 B
Bash
Executable File
#!/bin/bash
|
|
|
|
if [ -z "$1" ]; then
|
|
echo "Nutzung: $0 <CONTAINERNAME>"
|
|
exit 1
|
|
fi
|
|
|
|
CONTAINER="$1"
|
|
DB_UEBERSICHT="/home/thomas/db_uebersicht.md"
|
|
read USER PASS < <(tail -n +5 "$DB_UEBERSICHT" | grep "| $CONTAINER " | awk -F '|' '{print $5, $6}' | xargs)
|
|
|
|
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
|
|
BACKUP_DIR="/home/thomas/backup_images/${TIMESTAMP}_db_${CONTAINER}"
|
|
mkdir -p "$BACKUP_DIR"
|
|
|
|
echo "Erstelle Dump für $CONTAINER ($USER)..."
|
|
docker exec $CONTAINER mysqldump -u $USER -p$PASS --all-databases --single-transaction --quick --lock-tables=false > "$BACKUP_DIR/${CONTAINER}.sql" \
|
|
&& echo "DB-Backup für $CONTAINER gespeichert unter $BACKUP_DIR/${CONTAINER}.sql" \
|
|
|| echo "Fehler beim Dump von $CONTAINER" |