From 9838328c1dd1160ce085ad5eb1a2f1d844c85050 Mon Sep 17 00:00:00 2001 From: cschantz Date: Thu, 6 Nov 2025 20:11:13 -0500 Subject: [PATCH] Add backup type selection and performance optimizations Enhanced backup trigger script with: Backup Type Selection: - Auto (use plan's default) - Full backup (--backuptype=full) - Incremental (--backuptype=incremental) - faster, changes only - Differential (--backuptype=differential) - changes since last full Performance Optimizations: - Lower compression (--compression=normal) - faster, larger size - High priority (--priority=high) - use more resources - Both combined Users can now choose backup type and optimization level per backup, allowing CLI operations to be faster than web console when needed. --- modules/backup/acronis-trigger-backup.sh | 70 +++++++++++++++++++++++- 1 file changed, 68 insertions(+), 2 deletions(-) diff --git a/modules/backup/acronis-trigger-backup.sh b/modules/backup/acronis-trigger-backup.sh index d96c323..aa7f27e 100755 --- a/modules/backup/acronis-trigger-backup.sh +++ b/modules/backup/acronis-trigger-backup.sh @@ -89,14 +89,80 @@ case "$choice" in exit 1 fi + echo "" + echo -e "${BOLD}Backup Type Selection${NC}" + echo "" + echo "Select backup type:" + echo " 1) Auto (use plan's configured type)" + echo " 2) Full backup" + echo " 3) Incremental backup" + echo " 4) Differential backup" + echo "" + echo -n "Select type [1]: " + read -r backup_type_choice + backup_type_choice="${backup_type_choice:-1}" + + BACKUP_FLAGS="" + case "$backup_type_choice" in + 2) + BACKUP_FLAGS="--backuptype=full" + echo " → Full backup selected" + ;; + 3) + BACKUP_FLAGS="--backuptype=incremental" + echo " → Incremental backup selected (faster, stores only changes)" + ;; + 4) + BACKUP_FLAGS="--backuptype=differential" + echo " → Differential backup selected (changes since last full)" + ;; + *) + echo " → Using plan's default backup type" + ;; + esac + + echo "" + echo -e "${BOLD}Performance Options${NC}" + echo "" + echo -n "Enable performance optimizations? (y/n) [n]: " + read -r opt_choice + + if [ "$opt_choice" = "y" ] || [ "$opt_choice" = "Y" ]; then + echo "" + echo "Available optimizations:" + echo " 1) Lower compression (faster backup, larger size)" + echo " 2) High priority (use more system resources)" + echo " 3) Both" + echo "" + echo -n "Select [3]: " + read -r perf_choice + perf_choice="${perf_choice:-3}" + + case "$perf_choice" in + 1) + BACKUP_FLAGS="$BACKUP_FLAGS --compression=normal" + echo " → Lower compression enabled" + ;; + 2) + BACKUP_FLAGS="$BACKUP_FLAGS --priority=high" + echo " → High priority enabled" + ;; + 3) + BACKUP_FLAGS="$BACKUP_FLAGS --compression=normal --priority=high" + echo " → Lower compression + high priority enabled" + ;; + esac + fi + echo "" echo -e "${BOLD}Starting Backup...${NC}" echo "" - echo "Triggering backup for plan: $plan_id" + echo "Plan: $plan_id" + [ -n "$BACKUP_FLAGS" ] && echo "Options: $BACKUP_FLAGS" echo "" # Try to run backup - if /usr/sbin/acrocmd backup run --plan "$plan_id" 2>&1; then + if /usr/sbin/acrocmd backup run --plan "$plan_id" $BACKUP_FLAGS 2>&1; then echo "" print_success "Backup initiated successfully" echo ""