39 lines
983 B
Text
39 lines
983 B
Text
|
|
#!/bin/sh -e
|
||
|
|
|
||
|
|
# The directory where backups are stored
|
||
|
|
BACKUP_DIRECTORY="/backups"
|
||
|
|
|
||
|
|
# Check if a file name was provided as a parameter
|
||
|
|
if [ $# -eq 0 ]; then
|
||
|
|
echo "No file name provided. Please provide a file name to check."
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
# The file name is taken from the first argument provided to the script
|
||
|
|
file_name="$1"
|
||
|
|
|
||
|
|
# Full path to the file
|
||
|
|
full_file_path="${BACKUP_DIRECTORY}/${file_name}"
|
||
|
|
|
||
|
|
# Check if the file exists
|
||
|
|
if [ -f "$full_file_path" ]; then
|
||
|
|
echo "File ${file_name} exists."
|
||
|
|
else
|
||
|
|
echo "File ${file_name} does not exist."
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
export POSTGRES_USER="${POSTGRES_USER}"
|
||
|
|
export POSTGRES_DB="${POSTGRES_DB}"
|
||
|
|
|
||
|
|
echo "Dropping the database..."
|
||
|
|
dropdb "$POSTGRES_DB" -U "$POSTGRES_USER"
|
||
|
|
|
||
|
|
echo "Creating a new database..."
|
||
|
|
createdb "$POSTGRES_DB" --owner="$POSTGRES_USER" -U "$POSTGRES_USER"
|
||
|
|
|
||
|
|
echo "Applying the backup to the new database..."
|
||
|
|
gunzip -c "${full_file_path}" | pg_restore -U "$POSTGRES_USER" -d "$POSTGRES_DB"
|
||
|
|
|
||
|
|
echo "Backup applied successfully."
|