diff --git a/start.sh b/start.sh index e81c49f..8d43350 100755 --- a/start.sh +++ b/start.sh @@ -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 }