2025-01-15 15:27:29 +07:00
|
|
|
#!/usr/bin/bash
|
|
|
|
|
|
|
|
export PATH=/usr/sbin:$PATH
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
set -euo pipefail
|
|
|
|
readonly COLOUR_RESET='\e[0m'
|
|
|
|
readonly aCOLOUR=(
|
|
|
|
'\e[38;5;154m' # green | Lines, bullets and separators
|
|
|
|
'\e[1m' # Bold white | Main descriptions
|
|
|
|
'\e[90m' # Grey | Credits
|
|
|
|
'\e[91m' # Red | Update notifications Alert
|
|
|
|
'\e[33m' # Yellow | Emphasis
|
|
|
|
)
|
|
|
|
trap 'onCtrlC' INT
|
|
|
|
onCtrlC() {
|
|
|
|
echo -e "${COLOUR_RESET}"
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Show() {
|
|
|
|
# OK
|
|
|
|
if (($1 == 0)); then
|
|
|
|
echo -e "${aCOLOUR[2]}[$COLOUR_RESET${aCOLOUR[0]} OK $COLOUR_RESET${aCOLOUR[2]}]$COLOUR_RESET $2"
|
|
|
|
# FAILED
|
|
|
|
elif (($1 == 1)); then
|
|
|
|
echo -e "${aCOLOUR[2]}[$COLOUR_RESET${aCOLOUR[3]}FAILED$COLOUR_RESET${aCOLOUR[2]}]$COLOUR_RESET $2"
|
|
|
|
exit 1
|
|
|
|
# INFO
|
|
|
|
elif (($1 == 2)); then
|
|
|
|
echo -e "${aCOLOUR[2]}[$COLOUR_RESET${aCOLOUR[0]} INFO $COLOUR_RESET${aCOLOUR[2]}]$COLOUR_RESET $2"
|
|
|
|
# NOTICE
|
|
|
|
elif (($1 == 3)); then
|
|
|
|
echo -e "${aCOLOUR[2]}[$COLOUR_RESET${aCOLOUR[4]}NOTICE$COLOUR_RESET${aCOLOUR[2]}]$COLOUR_RESET $2"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
Warn() {
|
|
|
|
echo -e "${aCOLOUR[3]}$1$COLOUR_RESET"
|
|
|
|
}
|
|
|
|
|
|
|
|
GreyStart() {
|
|
|
|
echo -e "${aCOLOUR[2]}\c"
|
|
|
|
}
|
|
|
|
|
|
|
|
ColorReset() {
|
|
|
|
echo -e "$COLOUR_RESET\c"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2025-01-15 15:51:01 +07:00
|
|
|
main() {
|
2025-01-15 15:37:02 +07:00
|
|
|
DEPLOYMENT_DIR=$(pwd)/deployment
|
2025-01-15 15:51:01 +07:00
|
|
|
BACKUP_DIR="$DEPLOYMENT_DIR/backup"
|
2025-01-15 15:27:29 +07:00
|
|
|
DOWNLOAD_URL="$1"
|
2025-01-16 09:38:47 +07:00
|
|
|
BACKUP_FILE="$BACKUP_DIR/$2"
|
2025-01-15 15:51:01 +07:00
|
|
|
# Check if the deployment and backup directories exist, create them if not
|
|
|
|
if [[ ! -d "$BACKUP_DIR" ]]; then
|
|
|
|
echo "Backup directory does not exist. Creating: $BACKUP_DIR"
|
|
|
|
mkdir -p "$BACKUP_DIR"
|
|
|
|
fi
|
2025-01-15 15:27:29 +07:00
|
|
|
|
|
|
|
# Check if the download URL is valid
|
|
|
|
echo "Checking if the URL is valid: $DOWNLOAD_URL"
|
|
|
|
if curl --head --silent --fail "$DOWNLOAD_URL" > /dev/null; then
|
|
|
|
echo "URL is valid. Proceeding with download..."
|
|
|
|
else
|
|
|
|
Show 1 "Error: Invalid or inaccessible URL: $DOWNLOAD_URL"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2025-01-15 15:51:01 +07:00
|
|
|
# Download the file and rename it to backup.zip
|
|
|
|
wget -O "$BACKUP_FILE" "$DOWNLOAD_URL"
|
2025-01-15 15:27:29 +07:00
|
|
|
|
|
|
|
# Check if the file was downloaded
|
|
|
|
if [[ -f "$BACKUP_FILE" ]]; then
|
|
|
|
Show 0 "Backup file successfully downloaded to: $BACKUP_FILE"
|
|
|
|
else
|
|
|
|
Show 1 "Error: Backup file was not downloaded."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2025-01-15 15:51:01 +07:00
|
|
|
main "$@"
|