b03179cc95
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
119 lines
4.5 KiB
Bash
Executable File
119 lines
4.5 KiB
Bash
Executable File
#!/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
|