import_sql gemacht...

This commit is contained in:
2018-11-26 17:22:36 +01:00
parent 1181ace61c
commit 0e298937c8
+29 -19
View File
@@ -102,9 +102,6 @@ backup(){
# Backupverzeichnisse einrichten # Backupverzeichnisse einrichten
move_to_ROOT move_to_ROOT
# neue Konfiguration lesen
#source "$CONFIG_DIR/$1"
# SCHRITT 1: # SCHRITT 1:
# sichern der MySQL-Datenbanken auf dem remote host # sichern der MySQL-Datenbanken auf dem remote host
# es muss auf dem remote host genug Platz auf der Festplatte geben damit Dump erfolgen kann! # es muss auf dem remote host genug Platz auf der Festplatte geben damit Dump erfolgen kann!
@@ -163,9 +160,26 @@ r_files(){
fi fi
} }
r_mysql(){ import_sql(){
## Import einer MySQL-DB von einem SQL-Script aus einem vorher (!) wiederherstellen Ordner ## Import einer MySQL-DB von einem SQL-Script aus einem vorher (!) wiederherstellen Ordner
sleep 1
if [ "$MYSQL_CONTAINER" != '' ]
then
FROM_FILE=${BACKUP_DIR_CONTAINERS}/${MYSQL_CONTAINER}/${1}.sql
else
FROM_FILE=${BACKUP_DIR_FILES}/${MYSQL_DUMP_DIR}/${1}.sql
fi
r_files "$FROM_FILE" "${REMOTE_USER}@${REMOTE_HOST}::${MYSQL_DUMP_DIR}/${1}.sql" "$2"
if [ "$MYSQL_CONTAINER" != '' ]
then
ssh ${REMOTE_USER}@${REMOTE_HOST} "docker exec -i \"$MYSQL_CONTAINER\" mysql -u \"$MYSQL_USER\" \"-p$MYSQL_PASS\" < \"$MYSQL_DUMP_DIR/${1}.sql\""
else
ssh ${REMOTE_USER}@${REMOTE_HOST} "mysql -u \"$MYSQL_USER\" \"-p$MYSQL_PASS\" < \"$MYSQL_DUMP_DIR/${1}.sql\""
fi
[ "$MYSQL_DUMP_DIR" != "" ] && [ "$MYSQL_DUMP_DIR" != "/" ] && ssh ${REMOTE_USER}@${REMOTE_HOST} "rm -rf \"$MYSQL_DUMP_DIR/${1}.sql\""
} }
r_vol(){ r_vol(){
@@ -181,17 +195,23 @@ r_mysql_cont(){
restore(){ restore(){
read_config "$1" read_config "$1"
echo Start restore $1 -> $2 echo Start restore $1 to $2
echo ================================================== echo ==================================================
# neue Konfiguration lesen
#source "$CONFIG_DIR/$1"
# SCHRITT 1: # SCHRITT 1:
# Alle Dateien und Ordner aus dem letzten Backup wiederherstellen # Alle Dateien und Ordner aus dem letzten Backup wiederherstellen
if [ ${#MYSQL_DB[@]} -gt 0 ] if [ ${#MYSQL_DB[@]} -gt 0 ]
then then
FOLDERS+=("$MYSQL_DUMP_DIR") #FOLDERS+=("$MYSQL_DUMP_DIR")
## jede SQL-Datei einzeln hochladen
for db in "${MYSQL_DB[@]}"
do
echo restore database: "$db"
import_sql "$db" "$2"
done
fi fi
for dir in "${FOLDERS[@]}" for dir in "${FOLDERS[@]}"
@@ -199,16 +219,6 @@ restore(){
# die eigentliche Wiederherstellung ... # die eigentliche Wiederherstellung ...
r_files "${BACKUP_DIR_FILES}/${dir}" "${REMOTE_USER}@${REMOTE_HOST}::${dir}" "$2" r_files "${BACKUP_DIR_FILES}/${dir}" "${REMOTE_USER}@${REMOTE_HOST}::${dir}" "$2"
done done
# SCHRITT 2:
# Datenbanken wiederherstellen
for db in "${MYSQL_DB[@]}"
do
echo restore database: "$db"
ssh ${REMOTE_USER}@${REMOTE_HOST} "mysql -u \"$MYSQL_USER\" \"-p$MYSQL_PASS\" < \"$MYSQL_DUMP_DIR/$db.sql\""
[ "$MYSQL_DUMP_DIR" != "" ] && [ "$MYSQL_DUMP_DIR" != "/" ] && ssh ${REMOTE_USER}@${REMOTE_HOST} "rm -rf \"$MYSQL_DUMP_DIR/$db.sql\""
done
echo Done restore $1 echo Done restore $1
echo echo