Issues #2 und #3 #6

Merged
info merged 25 commits from issue/#2-backup-mysql-from-container into master 2018-12-16 14:50:36 +01:00
Showing only changes of commit 0e298937c8 - Show all commits
+29 -19
View File
@@ -102,9 +102,6 @@ backup(){
# Backupverzeichnisse einrichten
move_to_ROOT
# neue Konfiguration lesen
#source "$CONFIG_DIR/$1"
# SCHRITT 1:
# sichern der MySQL-Datenbanken auf dem remote host
# es muss auf dem remote host genug Platz auf der Festplatte geben damit Dump erfolgen kann!
@@ -163,9 +160,26 @@ r_files(){
fi
}
r_mysql(){
import_sql(){
## 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(){
@@ -181,17 +195,23 @@ r_mysql_cont(){
restore(){
read_config "$1"
echo Start restore $1 -> $2
echo Start restore $1 to $2
echo ==================================================
# neue Konfiguration lesen
#source "$CONFIG_DIR/$1"
# SCHRITT 1:
# Alle Dateien und Ordner aus dem letzten Backup wiederherstellen
if [ ${#MYSQL_DB[@]} -gt 0 ]
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
for dir in "${FOLDERS[@]}"
@@ -199,16 +219,6 @@ restore(){
# die eigentliche Wiederherstellung ...
r_files "${BACKUP_DIR_FILES}/${dir}" "${REMOTE_USER}@${REMOTE_HOST}::${dir}" "$2"
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