41 lines
1.1 KiB
Bash
41 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
# RESTORE SCRIPT
|
|
# The restore script is OPTIONAL.
|
|
# It is used to restore the service on the server from a backup file.
|
|
# It is called with one argument: the path to the backup file.
|
|
|
|
source "$(dirname "$0")/_common.sh"
|
|
check_required_env_vars "CONTAINER_NAME" "LOCAL_DATA_FOLDER"
|
|
|
|
# Get backup file path from first argument
|
|
BACKUP_FILE="$1"
|
|
if [ -z "$BACKUP_FILE" ]; then
|
|
die "Backup file path not provided"
|
|
fi
|
|
|
|
# Check if backup file already exists
|
|
if [ ! -f "$BACKUP_FILE" ]; then
|
|
die "Backup file $BACKUP_FILE does not exist"
|
|
fi
|
|
|
|
# # Stop container before backup
|
|
_stop_container "$CONTAINER_NAME"
|
|
|
|
# Remove existing data folder
|
|
echo "Removing existing data folder $LOCAL_DATA_FOLDER..."
|
|
rm -rf "$LOCAL_DATA_FOLDER/*"
|
|
|
|
# Restore data folder from backup
|
|
echo "Restoring data folder from backup $BACKUP_FILE..."
|
|
if ! tar xzvf "$BACKUP_FILE" -C "$LOCAL_DATA_FOLDER"; then
|
|
die "Failed to restore data folder from backup"
|
|
fi
|
|
|
|
# reinstall service
|
|
if ! bash ./install.sh; then
|
|
die "Failed to reinstall service"
|
|
fi
|
|
|
|
echo "Restore complete! Service is running again on port $HOST_PORT with restored website."
|