umstrukturierung des Beckup-Ordner

* bischerige sicherungen werden ins ROOT verschoben
* Ordner VOL und CONT werden zusätzlich angelegt
This commit is contained in:
2018-11-11 17:29:09 +01:00
parent 3a58956844
commit 6dae560e8b
+36 -5
View File
@@ -16,6 +16,7 @@ read_config(){
exit 1 exit 1
fi fi
source "$CONFIG_DIR/$1"
} }
gen_config(){ gen_config(){
@@ -32,6 +33,22 @@ gen_config(){
[ ! -f "$CONFIG_DIR/example_conf.sh" ] && cp /example_conf.sh "$CONFIG_DIR/example_conf.sh" [ ! -f "$CONFIG_DIR/example_conf.sh" ] && cp /example_conf.sh "$CONFIG_DIR/example_conf.sh"
} }
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/${REMOTE_HOST}/ROOT" ] && mkdir -p "$BACKUP_DIR/${REMOTE_HOST}/ROOT"
### 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/${REMOTE_HOST}" -maxdepth 1 -mindepth 1 -type d -name "CONT" -prune -or -name "VOL" -prune -or -name "ROOT" -prune -or -name "*" -exec mv -t "$BACKUP_DIR/${REMOTE_HOST}/ROOT/" {} +
# anschliessend VOL und CONT anlegen
[ ! -d "$BACKUP_DIR/${REMOTE_HOST}/VOL" ] && mkdir -p "$BACKUP_DIR/${REMOTE_HOST}/VOL"
[ ! -d "$BACKUP_DIR/${REMOTE_HOST}/CONT" ] && mkdir -p "$BACKUP_DIR/${REMOTE_HOST}/CONT"
}
backup(){ backup(){
read_config "$1" read_config "$1"
@@ -39,7 +56,7 @@ backup(){
echo ================================================== echo ==================================================
# neue Konfiguration lesen # neue Konfiguration lesen
source "$CONFIG_DIR/$1" #source "$CONFIG_DIR/$1"
# SCHRITT 1: # SCHRITT 1:
# sichern der MySQL-Datenbanken auf dem remote host # sichern der MySQL-Datenbanken auf dem remote host
@@ -52,7 +69,7 @@ backup(){
for db in "${MYSQL_DB[@]}" for db in "${MYSQL_DB[@]}"
do do
echo dumb database: "$db" echo dumb database: "$db"
if [ "$MYSQL_CONTAINER" != '' ]; if [ "$MYSQL_CONTAINER" != '' ]
then then
echo from container: "$MYSQL_CONTAINER" echo from container: "$MYSQL_CONTAINER"
ssh ${REMOTE_USER}@${REMOTE_HOST} "docker exec -i \"$MYSQL_CONTAINER\" mysqldump -u \"$MYSQL_USER\" \"-p$MYSQL_PASS\" --events --routines --triggers --single-transaction --add-drop-database -B \"$db\" > \"$MYSQL_DUMP_DIR/$db.sql\"" ssh ${REMOTE_USER}@${REMOTE_HOST} "docker exec -i \"$MYSQL_CONTAINER\" mysqldump -u \"$MYSQL_USER\" \"-p$MYSQL_PASS\" --events --routines --triggers --single-transaction --add-drop-database -B \"$db\" > \"$MYSQL_DUMP_DIR/$db.sql\""
@@ -62,15 +79,20 @@ backup(){
done done
# Ordner mit SQL-Dateien in die Sicherung aufnehmen # Ordner mit SQL-Dateien in die Sicherung aufnehmen
if [ "$MYSQL_CONTAINER" != '' ]
then
FOLDERS=("$MYSQL_DUMP_DIR")
else
FOLDERS+=("$MYSQL_DUMP_DIR") FOLDERS+=("$MYSQL_DUMP_DIR")
fi fi
fi
# SCHRITT 2: # SCHRITT 2:
# die Sicherung der Ordner (inklusive der SQL-Dump) # die Sicherung der Ordner (inklusive der SQL-Dump)
for dir in "${FOLDERS[@]}" for dir in "${FOLDERS[@]}"
do do
# prüfen ob das backup-ordner existiert ... # prüfen ob das backup-ordner existiert ...
if [ ! -d "$BACKUP_DIR/${REMOTE_HOST}${dir}" ]; if [ ! -d "$BACKUP_DIR/${REMOTE_HOST}${dir}" ]
then then
# ... und gegebenfals anlegen # ... und gegebenfals anlegen
mkdir -p "$BACKUP_DIR/${REMOTE_HOST}${dir}" mkdir -p "$BACKUP_DIR/${REMOTE_HOST}${dir}"
@@ -108,7 +130,7 @@ restore(){
echo ================================================== echo ==================================================
# neue Konfiguration lesen # neue Konfiguration lesen
source "$CONFIG_DIR/$1" #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
@@ -143,6 +165,11 @@ restore(){
echo echo
} }
test_function(){
read_config "$1"
echo $REMOTE_HOST
}
list(){ list(){
read_config "$1" read_config "$1"
@@ -151,7 +178,7 @@ list(){
echo ================================================== echo ==================================================
# neue Konfiguration lesen # neue Konfiguration lesen
source "$CONFIG_DIR/$1" #source "$CONFIG_DIR/$1"
if [ ${#MYSQL_DB[@]} -gt 0 ] if [ ${#MYSQL_DB[@]} -gt 0 ]
then then
@@ -189,6 +216,10 @@ elif [ "$1" == "--bash" ]; then
shift shift
/bin/bash "$@" /bin/bash "$@"
elif [ "$1" == "--testit" ]; then
shift
test_function "$@"
else else
echo "usage ?" echo "usage ?"
fi fi