mirror of
https://github.com/Dictionarry-Hub/database.git
synced 2025-12-10 15:57:00 +00:00
feat. scripts to dump and restore monodb instances
This commit is contained in:
30
scripts/backup.sh
Executable file
30
scripts/backup.sh
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Set the MongoDB connection URI
|
||||
MONGO_URI="mongodb://localhost:27017"
|
||||
|
||||
# Set the database name
|
||||
DB_NAME="Dictionarry"
|
||||
|
||||
# Set the path to the backups directory
|
||||
BACKUPS_DIR="../backups"
|
||||
|
||||
# Create the backups directory if it doesn't exist
|
||||
mkdir -p $BACKUPS_DIR
|
||||
|
||||
# Get the current date and time
|
||||
CURRENT_DATE=$(date +%d_%b_%Y_%H%M)
|
||||
|
||||
# Create a new backup file with "release" prefix and formatted date
|
||||
BACKUP_FILE="$BACKUPS_DIR/release_dictionarry_backup_$CURRENT_DATE.archive"
|
||||
|
||||
# Perform the database dump
|
||||
mongodump --uri "$MONGO_URI" --db "$DB_NAME" --archive="$BACKUP_FILE" --gzip
|
||||
|
||||
# Check if the backup was successful
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Database backup created successfully: $BACKUP_FILE"
|
||||
else
|
||||
echo "Error: Failed to create database backup."
|
||||
exit 1
|
||||
fi
|
||||
36
scripts/restore.sh
Executable file
36
scripts/restore.sh
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Set the MongoDB connection URI
|
||||
MONGO_URI="mongodb://localhost:27017"
|
||||
|
||||
# Set the database name
|
||||
DB_NAME="Dictionarry"
|
||||
|
||||
# Set the path to the backups directory
|
||||
BACKUPS_DIR="../backups"
|
||||
|
||||
# Find the latest backup file with "release" prefix
|
||||
LATEST_BACKUP=$(ls -t "$BACKUPS_DIR"/release_dictionarry_backup_*.archive | head -1)
|
||||
|
||||
# Check if a backup file was found
|
||||
if [ -z "$LATEST_BACKUP" ]; then
|
||||
echo "Error: No backup file found with 'release' prefix."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Extract the date from the latest backup filename
|
||||
BACKUP_DATE=$(echo "$LATEST_BACKUP" | sed -E 's/.*backup_(.*)\.archive/\1/')
|
||||
|
||||
# Drop the existing database
|
||||
mongosh "$MONGO_URI" --eval "db.getSiblingDB('$DB_NAME').dropDatabase()"
|
||||
|
||||
# Restore the latest backup
|
||||
mongorestore --uri "$MONGO_URI" --archive="$LATEST_BACKUP" --gzip
|
||||
|
||||
# Check if the restore was successful
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Database restored successfully from backup dated: $BACKUP_DATE"
|
||||
else
|
||||
echo "Error: Failed to restore database."
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user