From 479d061879437d6fcffc182c4f4db19449592bf7 Mon Sep 17 00:00:00 2001 From: 3wc <3wc.git@doesthisthing.work> Date: Fri, 1 Jan 2021 22:29:16 +0200 Subject: [PATCH] Add restore commands, see coop-cloud/abra#70 --- abra-commands.sh | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/abra-commands.sh b/abra-commands.sh index e5060bf..d0c3d01 100644 --- a/abra-commands.sh +++ b/abra-commands.sh @@ -21,11 +21,15 @@ abra_backup_app() { FILENAME="$ABRA_DIR/backups/${abra__app_}_wp-content_$(date +%F).tar.gz" sub_app_cp | gzip > "$FILENAME" + + success "Backed up 'app' to $FILENAME" } abra_backup_db() { # shellcheck disable=SC2034 abra__service_="db" + # 3wc: necessary because $abra__service_ won't be set if we're coming from + # `abra_backup`, i.e. `abra app ... backup --all` DB_ROOT_PASSWORD=$(sub_app_run cat /run/secrets/db_root_password) @@ -33,8 +37,36 @@ abra_backup_db() { FILENAME="$ABRA_DIR/backups/${abra__app_}_$(date +%F).sql.gz" sub_app_run mysqldump -u root -p"$DB_ROOT_PASSWORD" wordpress | gzip > "$FILENAME" + + success "Backed up 'db' to $FILENAME" } abra_backup() { abra_backup_app && abra_backup_db } + +abra_restore_app() { + # shellcheck disable=SC2034 + { + abra__src_="-" + abra__dst_="app:/var/www/html/" + } + + zcat "$@" | sub_app_cp + + success "Restored 'app'" +} + +abra_restore_db() { + # 3wc: unlike abra_backup_db, we can assume abra__service_ will be 'db' if we + # got this far.. + + # shellcheck disable=SC2034 + abra___no_tty="true" + + DB_ROOT_PASSWORD=$(sub_app_run cat /run/secrets/db_root_password) + + zcat "$@" | sub_app_run mysql -u root -p"$DB_ROOT_PASSWORD" wordpress + + success "Restored 'db'" +}