12c90f3a4e
Created 11 comprehensive scripts for Acronis backup management: Installation & Setup: - acronis-install.sh: Download/install agent with multiple modes * Interactive, unattended, with/without registration * Supports token-based registration during install * Auto-service startup and verification - acronis-register.sh: Register agent with Acronis Cloud * Validates service URL and token * Shows current registration status * Safe re-registration with confirmation - acronis-configure.sh: Guidance for backup plan configuration * Web console walkthrough * Common backup plan examples Backup Operations: - acronis-manual-backup.sh: Manual backup creation guide * Web console and CLI methods * Ready for full CLI implementation - acronis-status.sh: View backup status from logs * Recent backup activity * acrocmd integration ready - acronis-list-backups.sh: List available backup archives * acrocmd integration for archive listing - acronis-restore.sh: Restore from backup guide * Multiple restore methods explained * Safety warnings and best practices Management: - acronis-agent-status.sh: Comprehensive service status * All 4 services (aakore, mms, schedule, active-protection) * Registration status, network ports, storage * Quick actions: start/stop/restart/logs/version - acronis-update.sh: Agent update management * Auto and manual update methods * Version checking - acronis-logs.sh: Advanced log viewer * View, tail, search logs * Error filtering with color coding * Log archival for old logs - acronis-uninstall.sh: Safe agent removal * Stops services, unregisters, removes packages * Optional data retention * Comprehensive cleanup All scripts based on documented Acronis commands with proper error handling, status validation, and user-friendly interfaces.
232 lines
7.5 KiB
Bash
Executable File
232 lines
7.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
################################################################################
|
|
# Acronis Agent Registration
|
|
################################################################################
|
|
# Purpose: Register Acronis agent with Acronis Cloud
|
|
# Command: /usr/lib/Acronis/RegisterAgentTool/RegisterAgent
|
|
# Flags:
|
|
# -o register - Operation: register
|
|
# -t cloud - Type: cloud-based
|
|
# -a <url> - Service URL
|
|
# --token <token> - Registration token
|
|
################################################################################
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
source "$SCRIPT_DIR/lib/common-functions.sh"
|
|
source "$SCRIPT_DIR/lib/system-detect.sh"
|
|
|
|
# Require root
|
|
if [ "$EUID" -ne 0 ]; then
|
|
print_error "This script must be run as root"
|
|
exit 1
|
|
fi
|
|
|
|
print_banner "Acronis Agent Registration"
|
|
|
|
# Check if agent is installed
|
|
if [ ! -f "/usr/lib/Acronis/RegisterAgentTool/RegisterAgent" ]; then
|
|
echo ""
|
|
print_error "Acronis agent is not installed"
|
|
echo ""
|
|
echo "Please install the agent first:"
|
|
echo " 1. Return to Acronis Management menu"
|
|
echo " 2. Select 'Install Acronis Agent'"
|
|
echo ""
|
|
press_enter
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
|
|
# Check current registration status
|
|
echo -e "${BOLD}Current Registration Status:${NC}"
|
|
echo ""
|
|
|
|
if [ -f "/etc/Acronis/Global.config" ]; then
|
|
if grep -q "CloudUrl" "/etc/Acronis/Global.config" 2>/dev/null; then
|
|
echo -e " ${GREEN}✓${NC} Agent is currently registered"
|
|
|
|
# Extract current cloud URL
|
|
current_url=$(grep -oP 'CloudUrl[>="].*?https://[^"<]+' /etc/Acronis/Global.config 2>/dev/null | grep -oP 'https://[^"<]+' | head -1)
|
|
if [ -n "$current_url" ]; then
|
|
echo -e " Current URL: ${current_url}"
|
|
fi
|
|
|
|
echo ""
|
|
echo -e "${YELLOW}⚠ Agent is already registered${NC}"
|
|
echo ""
|
|
echo "Do you want to:"
|
|
echo " 1) Keep current registration"
|
|
echo " 2) Re-register (will overwrite current registration)"
|
|
echo ""
|
|
echo -n "Select [1]: "
|
|
read -r choice
|
|
choice="${choice:-1}"
|
|
|
|
if [ "$choice" = "1" ]; then
|
|
echo ""
|
|
echo "Keeping current registration"
|
|
press_enter
|
|
exit 0
|
|
fi
|
|
|
|
echo ""
|
|
echo "Proceeding with re-registration..."
|
|
else
|
|
echo -e " ${YELLOW}○${NC} Agent is not registered"
|
|
fi
|
|
else
|
|
echo -e " ${YELLOW}○${NC} No configuration found"
|
|
fi
|
|
|
|
echo ""
|
|
echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}"
|
|
echo ""
|
|
echo -e "${BOLD}Agent Registration${NC}"
|
|
echo ""
|
|
echo "You'll need:"
|
|
echo " • Acronis Cloud service URL (e.g., us5-cloud.acronis.com)"
|
|
echo " • Registration token from Acronis web console"
|
|
echo ""
|
|
echo "To get a registration token:"
|
|
echo " 1. Log in to Acronis web console"
|
|
echo " 2. Go to Settings → Registration tokens"
|
|
echo " 3. Create a new token or copy existing one"
|
|
echo ""
|
|
echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}"
|
|
echo ""
|
|
|
|
# Get service URL
|
|
echo -n "Enter Acronis Cloud service URL [us5-cloud.acronis.com]: "
|
|
read -r service_url
|
|
service_url="${service_url:-us5-cloud.acronis.com}"
|
|
|
|
# Validate URL format
|
|
if [[ ! "$service_url" =~ ^[a-z0-9.-]+\.acronis\.com$ ]]; then
|
|
print_error "Invalid service URL format"
|
|
echo ""
|
|
echo "Expected format: region-cloud.acronis.com"
|
|
echo "Examples:"
|
|
echo " • us5-cloud.acronis.com"
|
|
echo " • eu2-cloud.acronis.com"
|
|
echo " • ap1-cloud.acronis.com"
|
|
echo ""
|
|
press_enter
|
|
exit 1
|
|
fi
|
|
|
|
# Get registration token
|
|
echo ""
|
|
echo -n "Enter registration token: "
|
|
read -r reg_token
|
|
|
|
if [ -z "$reg_token" ]; then
|
|
print_error "Registration token is required"
|
|
press_enter
|
|
exit 1
|
|
fi
|
|
|
|
# Confirm registration
|
|
echo ""
|
|
echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}"
|
|
echo ""
|
|
echo -e "${BOLD}Registration Summary:${NC}"
|
|
echo ""
|
|
echo " Service URL: https://${service_url}"
|
|
echo " Token: ${reg_token:0:8}...${reg_token: -4}"
|
|
echo ""
|
|
echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}"
|
|
echo ""
|
|
echo -n "Proceed with registration? (yes/no): "
|
|
read -r confirm
|
|
|
|
if [ "$confirm" != "yes" ]; then
|
|
echo ""
|
|
print_error "Registration cancelled"
|
|
press_enter
|
|
exit 0
|
|
fi
|
|
|
|
echo ""
|
|
echo -e "${BOLD}Registering Agent...${NC}"
|
|
echo ""
|
|
|
|
# Run registration command
|
|
REGISTER_CMD="/usr/lib/Acronis/RegisterAgentTool/RegisterAgent"
|
|
REGISTER_ARGS="-o register -t cloud -a https://${service_url} --token ${reg_token}"
|
|
|
|
echo "→ Contacting Acronis Cloud..."
|
|
echo ""
|
|
echo -e "${DIM}──────────────────────────────────────────────────────────────${NC}"
|
|
|
|
# Execute registration
|
|
if $REGISTER_CMD $REGISTER_ARGS; then
|
|
REG_EXIT_CODE=$?
|
|
else
|
|
REG_EXIT_CODE=$?
|
|
fi
|
|
|
|
echo -e "${DIM}──────────────────────────────────────────────────────────────${NC}"
|
|
echo ""
|
|
|
|
# Check result
|
|
if [ $REG_EXIT_CODE -eq 0 ]; then
|
|
print_success "Registration successful!"
|
|
echo ""
|
|
|
|
# Restart services to apply registration
|
|
echo "→ Restarting Acronis services..."
|
|
systemctl restart acronis_mms
|
|
systemctl restart aakore
|
|
sleep 2
|
|
|
|
if systemctl is-active --quiet acronis_mms; then
|
|
print_success "Services restarted successfully"
|
|
echo ""
|
|
|
|
echo -e "${BOLD}Agent Registered Successfully!${NC}"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo " 1. Log in to Acronis web console:"
|
|
echo " → https://${service_url}"
|
|
echo ""
|
|
echo " 2. Find this agent in the device list"
|
|
echo " → Navigate to: Devices → All devices"
|
|
echo ""
|
|
echo " 3. Assign backup plans to this agent"
|
|
echo " → Select device → Protection → Add plan"
|
|
echo ""
|
|
echo " 4. Check agent status from this toolkit"
|
|
echo " → Select 'Check Agent Status' from Acronis menu"
|
|
echo ""
|
|
else
|
|
print_error "Services failed to restart"
|
|
echo ""
|
|
echo "Registration may have succeeded but services need attention."
|
|
echo "Check logs: tail -f /var/lib/Acronis/BackupAndRecovery/MMS/mms.0.log"
|
|
echo ""
|
|
fi
|
|
|
|
else
|
|
print_error "Registration failed with exit code $REG_EXIT_CODE"
|
|
echo ""
|
|
echo "Common issues:"
|
|
echo " • Invalid registration token"
|
|
echo " • Incorrect service URL"
|
|
echo " • Network connectivity issues"
|
|
echo " • Firewall blocking connection to Acronis Cloud"
|
|
echo " • Token already used or expired"
|
|
echo ""
|
|
echo "Troubleshooting:"
|
|
echo " 1. Verify token in Acronis web console"
|
|
echo " 2. Check network connectivity:"
|
|
echo " curl -I https://${service_url}"
|
|
echo ""
|
|
echo " 3. Check agent logs:"
|
|
echo " tail -f /var/lib/Acronis/BackupAndRecovery/MMS/mms.0.log"
|
|
echo ""
|
|
fi
|
|
|
|
press_enter
|