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 cb57586e35 - Show all commits
+20 -13
View File
@@ -4,6 +4,15 @@
# source job.conf
BACKUP_DIR=/backups
FILES=ROOT
VOLS=VOL
CONTAINERS=CON
BACKUP_DIR_FILES=$BACKUP_DIR/$FILES
BACKUP_DIR_VOLS=$BACKUP_DIR/$VOLS
BACKUP_DIR_CONTAINERS=$BACKUP_DIR/$CONTAINERS
CONFIG_DIR=/config
SSH_CF_DIR=/root/.ssh
@@ -37,16 +46,16 @@ move_to_ROOT(){
read_config $1
# prüfen ob Ordner ROOT, VOL, CONT existieren
# wenn nicht ROOT anlegen und alle bisher vorhandene Ordner dorthin verschieben
[ ! -d "$BACKUP_DIR/ROOT" ] && mkdir -p "$BACKUP_DIR/ROOT" || return
[ ! -d "$BACKUP_DIR_FILES" ] && mkdir -p "$BACKUP_DIR_FILES" || return
### find /home/vitali/find_tests/ -maxdepth 1 -mindepth 1 -type d -name "CONT" -prune -or -name "VOL" -prune -or -name ROOT -prune -or -name "*" -exec mv -t /home/vitali/find_tests/ROOT/ {} +
find "$BACKUP_DIR" -maxdepth 1 -mindepth 1 -type d -name "CONT" -prune -or -name "VOL" -prune -or -name "ROOT" -prune -or -name "*" -exec mv -t "$BACKUP_DIR/ROOT/" {} +
find "$BACKUP_DIR" -maxdepth 1 -mindepth 1 -type d -name "$CONTAINERS" -prune -or -name "$VOLS" -prune -or -name "$FILES" -prune -or -name "*" -exec mv -t "$BACKUP_DIR_FILES/" {} +
# anschliessend VOL und CONT anlegen
[ ! -d "$BACKUP_DIR/VOL" ] && mkdir -p "$BACKUP_DIR/VOL"
[ ! -d "$BACKUP_DIR/CONT" ] && mkdir -p "$BACKUP_DIR/CONT"
[ ! -d "$BACKUP_DIR_VOLS" ] && mkdir -p "$BACKUP_DIR_VOLS"
[ ! -d "$BACKUP_DIR_CONTAINERS" ] && mkdir -p "$BACKUP_DIR_CONTAINERS"
}
## Einzelne Backup-Jobs
@@ -97,16 +106,20 @@ backup(){
for db in "${MYSQL_DB[@]}"
do
# lokaler Export der DB als SQL
b_mysql "$db"
done
# Ordner mit SQL-Dateien in die Sicherung aufnehmen
# Ordner mit SQL-Dateien sofort (!) sichern
if [ "$MYSQL_CONTAINER" != '' ]
then
FOLDERS=("$MYSQL_DUMP_DIR")
b_files "${REMOTE_USER}@${REMOTE_HOST}::${MYSQL_DUMP_DIR}" "$BACKUP_DIR_CONTAINERS/${MYSQL_CONTAINER}"
else
FOLDERS+=("$MYSQL_DUMP_DIR")
b_files "${REMOTE_USER}@${REMOTE_HOST}::${MYSQL_DUMP_DIR}" "$BACKUP_DIR/${REMOTE_HOST}${MYSQL_DUMP_DIR}"
fi
# die SQL-Dateien vom remote host wieder löschen
[ "$MYSQL_DUMP_DIR" != "" ] && [ "$MYSQL_DUMP_DIR" != "/" ] && ssh ${REMOTE_USER}@${REMOTE_HOST} "rm -rf \"$MYSQL_DUMP_DIR/\"*.sql"
fi
# SCHRITT 2:
@@ -131,12 +144,6 @@ backup(){
echo
done
# SCHRITT 3:
# die SQL-Dateien vom remote host wieder löschen
if [ ${#MYSQL_DB[@]} -gt 0 ]
then
[ "$MYSQL_DUMP_DIR" != "" ] && [ "$MYSQL_DUMP_DIR" != "/" ] && ssh ${REMOTE_USER}@${REMOTE_HOST} "rm -rf \"$MYSQL_DUMP_DIR/\"*.sql"
fi
echo Done backup $1
echo
}