#!/bin/bash SCRIPT_ABS_LOCATION=$(realpath "$(dirname "${0}")") # shellcheck disable=SC1090 source "$SCRIPT_ABS_LOCATION/../common-backup.sh" # shellcheck disable=SC1090 source "$SCRIPT_ABS_LOCATION/duplicati-backup.env" # shellcheck disable=SC2034 LOG_FILE="$SCRIPT_ABS_LOCATION/duplicati-backup.log" TMP_FILEPATH="$SCRIPT_ABS_LOCATION" if [ -z "$TMP_FILEPATH" ]; then log "Error: TMP_FILEPATH is not set." exit 1 fi remove_old_backups \ "$SSH_USERNAME" \ "$SSH_DESTINATION" \ "$SSH_KEY" \ "$SSH_PORT" \ "$BACKUP_FOLDER" \ "$MAX_BACKUPS" stop_container duplicati tar_and_encrypt "$SOURCE_DIR" "$TMP_FILEPATH/$TMP_FILENAME" "$BACKUP_ENCR_PASSPHRASE" scp_transfer \ "$TMP_FILEPATH/$TMP_FILENAME" \ "$SSH_USERNAME" \ "$SSH_DESTINATION" \ "$SSH_KEY" \ "$SSH_PORT" \ "${BACKUP_FOLDER}${TMP_FILENAME}" log "Cleaning up temporary archive..." rm "$TMP_FILEPATH/$TMP_FILENAME" || { log "Error: Failed to remove the temporary file." exit 1 } start_container duplicati log "duplicati backup completed."