Add comprehensive Acronis backup management interface
Implemented complete backup management section with acrocmd integration: New Features: - Backup Manager: Centralized interface with organized sections • Agent Management (status, logs) • Backup Operations (list, trigger, status) • Plan Management (view, manage protection plans) • Restore Operations (placeholder for future) Scripts Created: - acronis-backup-manager.sh: Main backup management menu - acronis-list-backups.sh: Lists archives and backup details - acronis-trigger-backup.sh: Triggers manual backups with plan selection - acronis-backup-status.sh: Shows active tasks and recent activities - acronis-schedule-viewer.sh: Displays protection plans and schedules - acronis-plan-manager.sh: Manages protection plans (view/enable/disable/delete) Integration: - All scripts use acrocmd CLI for programmatic backup operations - Updated Acronis menu with streamlined "Manage Backups" option - Reorganized menu structure for better usability - Added proper error handling and status checks 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Executable
+118
@@ -0,0 +1,118 @@
|
||||
#!/bin/bash
|
||||
|
||||
################################################################################
|
||||
# Acronis Backup Status
|
||||
################################################################################
|
||||
# Purpose: Check status of backup operations using acrocmd
|
||||
# Features:
|
||||
# - Show active/running backups
|
||||
# - Display recent backup history
|
||||
# - Show backup task status
|
||||
################################################################################
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
source "$SCRIPT_DIR/lib/common-functions.sh"
|
||||
source "$SCRIPT_DIR/lib/system-detect.sh"
|
||||
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
print_error "This script must be run as root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
clear
|
||||
print_banner "Backup Status"
|
||||
|
||||
echo ""
|
||||
|
||||
# Check if acrocmd is available
|
||||
if [ ! -f "/usr/sbin/acrocmd" ]; then
|
||||
print_error "acrocmd command-line tool not found"
|
||||
echo ""
|
||||
press_enter
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Show active/running tasks
|
||||
echo -e "${CYAN}════════════════════════════════════════════════════════════${NC}"
|
||||
echo -e "${BOLD}Active Backup Tasks${NC}"
|
||||
echo -e "${CYAN}════════════════════════════════════════════════════════════${NC}"
|
||||
echo ""
|
||||
|
||||
task_output=$(/usr/sbin/acrocmd list tasks 2>&1)
|
||||
|
||||
if echo "$task_output" | grep -qi "no.*tasks\|error"; then
|
||||
echo -e "${GREEN}✓${NC} No active backup tasks running"
|
||||
else
|
||||
echo "$task_output"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
# Show recent activities
|
||||
echo -e "${CYAN}════════════════════════════════════════════════════════════${NC}"
|
||||
echo -e "${BOLD}Recent Backup Activities${NC}"
|
||||
echo -e "${CYAN}════════════════════════════════════════════════════════════${NC}"
|
||||
echo ""
|
||||
|
||||
activity_output=$(/usr/sbin/acrocmd list activities 2>&1)
|
||||
|
||||
if echo "$activity_output" | grep -qi "no.*activities\|error"; then
|
||||
echo -e "${YELLOW}No recent backup activities found${NC}"
|
||||
echo ""
|
||||
echo "This may indicate:"
|
||||
echo " • No backups have been run yet"
|
||||
echo " • Agent needs registration"
|
||||
echo " • No backup plans configured"
|
||||
else
|
||||
echo "$activity_output" | tail -20
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
# Parse logs for backup status
|
||||
if [ -f "/var/lib/Acronis/BackupAndRecovery/MMS/mms.0.log" ]; then
|
||||
echo -e "${CYAN}════════════════════════════════════════════════════════════${NC}"
|
||||
echo -e "${BOLD}Log Summary${NC}"
|
||||
echo -e "${CYAN}════════════════════════════════════════════════════════════${NC}"
|
||||
echo ""
|
||||
|
||||
# Count recent backup events
|
||||
log_file="/var/lib/Acronis/BackupAndRecovery/MMS/mms.0.log"
|
||||
|
||||
completed=$(grep -ic "backup.*completed\|backup.*success" "$log_file" 2>/dev/null || echo "0")
|
||||
failed=$(grep -ic "backup.*failed\|backup.*error" "$log_file" 2>/dev/null || echo "0")
|
||||
started=$(grep -ic "backup.*started\|backup.*begin" "$log_file" 2>/dev/null || echo "0")
|
||||
|
||||
echo "Backup Statistics (from current log):"
|
||||
echo " • Started: $started"
|
||||
echo " • Completed: $completed"
|
||||
echo " • Failed: $failed"
|
||||
|
||||
echo ""
|
||||
|
||||
# Show last 5 backup-related events
|
||||
echo "Recent Events:"
|
||||
echo ""
|
||||
grep -i "backup" "$log_file" 2>/dev/null | tail -5 | while read -r line; do
|
||||
# Highlight status
|
||||
if echo "$line" | grep -qi "success\|completed"; then
|
||||
echo -e " ${GREEN}✓${NC} $line"
|
||||
elif echo "$line" | grep -qi "fail\|error"; then
|
||||
echo -e " ${RED}✗${NC} $line"
|
||||
else
|
||||
echo " → $line"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "${CYAN}════════════════════════════════════════════════════════════${NC}"
|
||||
echo ""
|
||||
echo -e "${BOLD}Options:${NC}"
|
||||
echo ""
|
||||
echo " • View full logs: Select 'View Agent Logs' from menu"
|
||||
echo " • Trigger backup: Select 'Trigger Manual Backup'"
|
||||
echo " • Troubleshoot: Use 'Troubleshoot Backups' for diagnostics"
|
||||
echo ""
|
||||
|
||||
press_enter
|
||||
Reference in New Issue
Block a user