From da1b579d7761189fad0ad396ccb70bb2722d965c Mon Sep 17 00:00:00 2001 From: bniwredyc Date: Wed, 29 Mar 2023 01:55:07 +0200 Subject: [PATCH] resetdb.sh --- .gitignore | 3 +-- resetdb.sh | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 resetdb.sh diff --git a/.gitignore b/.gitignore index 5723e88b..85ce3fa3 100644 --- a/.gitignore +++ b/.gitignore @@ -144,10 +144,9 @@ migration/content/**/*.md *.sqlite3 *.rdb .DS_Store -dump +/dump .vscode *dump.sql *.csv dev-server.pid -/resetdb.sh backups/ diff --git a/resetdb.sh b/resetdb.sh new file mode 100644 index 00000000..ead9247c --- /dev/null +++ b/resetdb.sh @@ -0,0 +1,56 @@ +database_name="discoursio" +remote_backup_dir="/var/backups/mongodb_primero" +user="root" +host="testapi.discours.io" +server="$user@$host" +dump_dir="./dump" +local_backup_filename="discours-backup.bson.gz.tar" + +echo "DATABASE RESET STARTED" +echo "server: $server" +echo "remote backup directory: $remote_backup_dir" + +echo "Searching for last backup file..." +last_backup_filename=$(ssh $server "ls -t $remote_backup_dir | head -1") +if [ $? -ne 0 ]; then { echo "Failed to get last backup filename, aborting." ; exit 1; } fi +echo "Last backup file found: $last_backup_filename" + +echo "Downloading..." +scp $server:$remote_backup_dir/"$last_backup_filename" "$local_backup_filename" +if [ $? -ne 0 ]; then { echo "Failed to download backup file, aborting." ; exit 1; } fi +echo "Backup file $local_backup_filename downloaded successfully" + +echo "Creating dump directory: $dump_dir" +mkdir -p "$dump_dir" +if [ $? -ne 0 ]; then { echo "Failed to create dump directory, aborting." ; exit 1; } fi +echo "$dump_dir directory created" + +echo "Unpacking backup file $local_backup_filename to $dump_dir" +tar -xzf "$local_backup_filename" --directory "$dump_dir" --strip-components 1 +if [ $? -ne 0 ]; then { echo "Failed to unpack backup, aborting." ; exit 1; } fi +echo "Backup file $local_backup_filename successfully unpacked to $dump_dir" + +echo "Removing backup file $local_backup_filename" +rm "$local_backup_filename" +if [ $? -ne 0 ]; then { echo "Failed to remove backup file, aborting." ; exit 1; } fi +echo "Backup file removed" + +echo "Dropping database $database_name" +dropdb $database_name --force +if [ $? -ne 0 ]; then { echo "Failed to drop database, aborting." ; exit 1; } fi +echo "Database $database_name dropped" + +echo "Creating database $database_name" +createdb $database_name +if [ $? -ne 0 ]; then { echo "Failed to create database, aborting." ; exit 1; } fi +echo "Database $database_name successfully created" + +echo "BSON -> JSON" +python3 server.py bson +if [ $? -ne 0 ]; then { echo "BSON -> JSON failed, aborting." ; exit 1; } fi + +echo "Start migration" +python3 server.py migrate +if [ $? -ne 0 ]; then { echo "Migration failed, aborting." ; exit 1; } fi +echo 'Done!' +