d4cc5c08462016d775dc2b2ba87f8c11cce58b4b
Hyper-V Backup Scripts
Automated backup solution for Hyper-V virtual machines with three-tier backup strategy.
Overview
This repository contains PowerShell scripts for comprehensive Hyper-V VM backup and management:
- Daily Snapshots - Checkpoint-based incremental backups (7pm)
- Weekly Live Backups - Live backups without downtime (Friday 8pm)
- Monthly Full Backups - Complete VM exports with shutdown (First Sunday 1am)
Features
- 🔄 Load-balanced checkpoint management
- 💾 7-Zip compression for storage efficiency
- 📦 Three-phase workflow: local processing → compression → NAS transfer
- 🛡️ Critical server protection (business hours awareness)
- 📊 Comprehensive logging and error handling
- 🔧 Automated retention policies
Scripts
Daily-SnapshotBackup.ps1
Creates daily VM checkpoints with staggered scheduling across two groups for load balancing.
- Schedule: 7pm daily
- Retention: 3 checkpoints per VM (6 days coverage)
- Groups: VMs divided into two groups with 2-day intervals
weekly_vmbackup.ps1
Live backup using checkpoints without VM downtime.
- Schedule: Friday 8pm
- Retention: 2 weekly backups (local and NAS)
- Compression: 7-Zip (mx=7)
monthly_vmbackup.ps1
Full shutdown export for complete VM backup.
- Schedule: First Sunday 1am
- Retention: 3 monthly backups (local and NAS)
- Compression: 7-Zip (mx=9 maximum)
HyperVCheck.ps1
Quick status check for all VMs and their checkpoints.
HyperVDiag.ps1
Comprehensive diagnostic tool for performance issues and merge operations.
Configuration
All scripts use the following paths (configurable):
- NAS:
\\nas5362\Backups - Temp:
F:\TempBackup - Local Backups:
F:\Backups - 7-Zip:
C:\Program Files\7-Zip\7z.exe
Usage
# Daily snapshots - All VMs
.\Daily-SnapshotBackup.ps1 -AllVMs -MaxSnapshots 7
# Weekly backup - All VMs except critical servers
.\weekly_vmbackup.ps1 -AllVMs -ExcludeVMs @("PS01", "DC01") -MaxBackups 2
# Monthly backup - All VMs except critical servers
.\monthly_vmbackup.ps1 -AllVMs -ExcludeVMs @("PS01", "DC01") -MaxBackups 3
# Check VM status
.\HyperVCheck.ps1
# Run diagnostics
.\HyperVDiag.ps1 -Detailed -ExportReport
Task Scheduler Integration
All scripts are designed to run via Windows Task Scheduler:
- Daily: 7pm (snapshots)
- Weekly: Friday 8pm (live backups)
- Monthly: First Sunday 1am (full backups)
Infrastructure
- Platform: Windows Server 2022
- Hyper-V: Version 10.0.20348.1
- Storage: F: drive for processing, NAS for long-term storage
- Critical Servers: PS01, DC01 (weekend-only maintenance)
Backup Strategy
- Local Processing First: All operations on F: drive
- Compression: 7-Zip with appropriate levels
- Network Transfer: Bulk copy after all VMs complete
- Immediate Cleanup: Temp files removed after each VM
- Retention Management: Automated on both local and NAS storage
License
Personal use - Hyper-V backup automation
Description
Languages
PowerShell
100%