Que sauvegarder et où (liste de contrôle succincte)
- Objets : volumes/fichiers, état du système (registre, chargeur d’amorçage, etc.), données d’application, si disponibles (par exemple, MSSQL crée ses propres vidages).
- Cible : disque dur VPS séparé, NAS/serveur de fichiers via SMB, stockage cloud. Pour le stockage, seuls le SYSTÈME/les administrateurs doivent disposer des droits NTFS.
- Directive : quotidiennement – incrémentiel/complet (selon l’objectif), hebdomadairement – complet, période de conservation N versions (par exemple 14-30).
- Critères de disponibilité : la sauvegarde s’exécute sans erreur, le protocole est lisible, la restauration test est effectuée régulièrement.
Installation du composant Windows Server Backup (WSB)
WSB est un outil intégré au système d’exploitation qui peut traiter l’état du système, les volumes et les fichiers et qui s’exécute selon un calendrier défini.
Get-WindowsFeature Windows-Server-Backup
Add-WindowsFeature Windows-Server-Backup -IncludeAllSubFeature
Préparez le dossier de destination et les autorisations
Créez un répertoire distinct pour le stockage réseau et accordez des autorisations RW uniquement au SYSTÈME, aux administrateurs de domaine (ou aux administrateurs locaux) et, si nécessaire, aux objets informatiques source.
Important : lors de la sauvegarde dans un dossier réseau, le programme standard « wbadmin.msc » n’enregistre qu’une seule copie « actuelle ». Pour plusieurs versions, nous utilisons « wbadmin.exe » + notre propre rotation (voir ci-dessous).
Script wbadmin : sauvegarde quotidienne dans des dossiers portant la date
Créez un dossier tel que \\backup-srv\winvps01$\YYYY-MM-DD et lancez la sauvegarde. Utilisez -systemState pour l’état du système et -include:C:,D: pour les volumes.
$Base=“\\backup-srv\winvps01$\# replace with your layer/disk
$Date=Get-Date -Format ”yyyy-MM-dd"
$Target=Join-Path $Base $Date
if (-not (Test-Path $Target)) { New-Item -ItemType Directory -Path $Target | Out-Null }
# Option A: System State
$cmd = “wbadmin start backup -backuptarget:$Target -systemState -noverify -vssCopy -quiet”
# Option B: specified volumes (+critical)
# $cmd = “wbadmin start backup -backuptarget:”+$Target+“ -include:C:,D: -allCritical -quiet”
Invoke-Expression $cmd
Scénario avec un dossier « by date », exécution de wbadmin et exemples de protocole
Import-Module ServerManager
$string $date = get-date -f 'yyyy-MM-dd'
$path="\\\col\backup\dcl\"
$TargetUNC = "$path$date"
$TestTargetUNC = Test-Path -Path $TargetUNC
if (!($TestTargetUNC)) {
New-Item -Path $TargetUNC -ItemType directory
}
$WBadmin_cmd = "wbadmin.exe START BACKUP -backupTarget:$TargetUNC -systemState -noverify -vssCopy"
Invoke-Expression $WBadmin_cmd
Où consulter les journaux : C:\Windows\Logs\WindowsServerBackup\*.log
Sur un disque dur connecté localement, vous pouvez limiter le nombre de versions par défaut :
wbadmin delete backup -keepVersions:10 -quiet
Planificateur : démarrage automatique du script
Option via l’interface graphique
taskschd.msc → Créer une tâche… → Mieux vaut démarrer via SYSTÈME + Exécuter avec les autorisations les plus élevées → Configurer le déclencheur et l’action powershell.exe -NoProfile -ExecutionPolicy Bypass -File C:\PS\Backup.ps1.
Option via PowerShell
$Trigger=New-ScheduledTaskTrigger -Daily -At 1:00am
$Action =New-ScheduledTaskAction -Execute "PowerShell.exe" `
-Argument "-NoProfile -ExecutionPolicy Bypass -File C:\PS\Backup.ps1"
Register-ScheduledTask -TaskName "VPS-DailyBackup" -Trigger $Trigger `
-User "NT AUTHORITY\SYSTEM" -Action $Action -RunLevel Highest -Force
L’alternative tout-en-un :
wbadmin enable backup -addtarget:E: -schedule:01:00 -include:C:,D: -quiet
Créez un planning quotidien avec WSB. Syntaxe – dans Microsoft Learn.
« Versions rapides » pour les fichiers : Robocopy (+ dossier quotidien)
Pour le catalogue de données (sites Web, téléchargements), il est pratique de créer des instantanés de dossiers par date :
@echo off
set date_=%date:/=-%
set src=D:\Data
set dst=\\backup-srv\winvps01$\%date_%
mkdir "%dst%"
robocopy "%src%" "%dst%" /E /COPYALL /Z /J /R:3 /W:1 /LOG+:C:\Logs\robocopy.log
Activez les instantanés VSS (copies fantômes) pour une « restauration rapide ».
Les copies fantômes fournissent des « versions précédentes » et vous aident à restaurer rapidement des fichiers individuels sans sauvegardes volumineuses. Dans un domaine, il est pratique d’activer VSS avec des stratégies et de créer des instantanés à l’aide d’un script/planificateur.
Activez le service « Volume Shadow Copy » (type de démarrage : automatique).
Créez régulièrement un instantané (exemple avec vshadow.exe) et réservez 10 à 20 % du disque dur pour les clichés instantanés.
Liste des instantanés : vssadmin list shadows → notez l’ID du cliché instantané.
Montez un instantané spécifique (en lecture seule) et copiez les fichiers :
vshadow -el={GUID},Z:
VSS et base de volume fantôme – dans Microsoft Learn.
Vérifier, surveiller, faire tourner
- Test de restauration : montez régulièrement des VHDX/dossiers avec la date et restaurez certains fichiers « sur le bureau ». Pour les rôles critiques, utilisez des procédures de profil (AD, MSSQL, etc.).
- Journaux et codes de retour : journaux WindowsServerBackup, codes de retour (masque) pour Robocopy.
- Rotation : supprimez les anciens dossiers par date (PowerShell) et/ou wbadmin delete backup -keepVersions:N.
- Planifiez wbadmin enable backup – paramètres et syntaxe dans l’aide Microsoft.
Problèmes courants et solutions
- Il est indiqué qu’une seule copie est stockée sur la destination réseau. Il s’agit d’une limitation de l’assistant WSB. Utilisez wbadmin + dossiers par date (comme dans le script ci-dessus).
- Le planificateur se bloque ou demande un mot de passe. Exécutez le programme à partir de SYSTEM avec Exécuter avec les privilèges les plus élevés ; vérifiez le droit Se connecter en tant que tâche batch et les arguments -ExecutionPolicy Bypass.
- Pas d’espace de stockage pour VSS. Augmentez le quota pour le volume (10-20 %), vérifiez le calendrier de création/suppression des clichés instantanés.