diff --git a/deployment/bare_metal/backup.sh b/deployment/bare_metal/backup.sh index 065787288..e2473a30d 100755 --- a/deployment/bare_metal/backup.sh +++ b/deployment/bare_metal/backup.sh @@ -9,7 +9,7 @@ SCRIPT_DIR=$(dirname $SCRIPT_PATH) PROJECT_ROOT=$SCRIPT_DIR/../.. set +o allexport -# Load backend .env for DB_USERNAME & DB_PASSWORD +# Load backend .env for DB_USERNAME, DB_PASSWORD & DB_DATABASE set -o allexport if [ -f "$PROJECT_ROOT/backend/.env" ]; then source $PROJECT_ROOT/backend/.env @@ -22,7 +22,7 @@ set +o allexport pm2 stop all # Backup data -mysqldump --all-databases --single-transaction --quick --lock-tables=false > ${SCRIPT_DIR}/backup/mariadb-backup-$(date +%d-%m-%Y_%H-%M-%S).sql -u ${DB_USER} -p${DB_PASSWORD} +mysqldump --databases --single-transaction --quick --lock-tables=false > ${SCRIPT_DIR}/backup/mariadb-backup-$(date +%d-%m-%Y_%H-%M-%S).sql -u ${DB_USER} -p${DB_PASSWORD} ${DB_DATABASE} # Start Services pm2 start all \ No newline at end of file diff --git a/deployment/bare_metal/restore.sh b/deployment/bare_metal/restore.sh new file mode 100755 index 000000000..aa70c0ba5 --- /dev/null +++ b/deployment/bare_metal/restore.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +# This script will shut down all services, replace the whole database with the selected backup and restart the services + +# Find current directory & configure paths +set -o allexport +SCRIPT_PATH=$(realpath $0) +SCRIPT_DIR=$(dirname $SCRIPT_PATH) +PROJECT_ROOT=$SCRIPT_DIR/../.. +set +o allexport + +# Load backend .env for DB_USERNAME, DB_PASSWORD & DB_DATABASE +set -o allexport +if [ -f "$PROJECT_ROOT/backend/.env" ]; then + source $PROJECT_ROOT/backend/.env +else + source $PROJECT_ROOT/backend/.env.dist +fi +set +o allexport + +# Stop Services +pm2 stop all + +# Backup data +mysqldump --databases --single-transaction --quick --lock-tables=false > ${SCRIPT_DIR}/backup/mariadb-restore-backup-$(date +%d-%m-%Y_%H-%M-%S).sql -u ${DB_USER} -p${DB_PASSWORD} ${DB_DATABASE} + +# Drop Database +mysql -u ${DB_USER} -p${DB_PASSWORD} <