Lors de mes interventions chez différents clients, j’ai constaté que les IT sur place ont souvent du mal à répondre aux questions suivantes:
- Vérifiez-vous régulièrement le bon déroulement /réalisation des sauvegardes ?
- Vos sauvegardes sont-elles testées et validées ?
- Avez-vous déjà effectué une restauration à partir des sauvegardes réalisées suite à un incident /crash d’un ou plusieurs serveurs ?
Il faut savoir que le Reporting des sauvegardes est un élément critique et important pour toute direction informatique.
Réaliser des sauvegardes c’est bien, mais savoir les utiliser en cas de problème est OBLIGATOIRE.
Quand vous réalisez vos sauvegardes, vous devez vous assurer que celles-ci ont bien été effectuées, car il arrive parfois que des sauvegardes échouent suite à une saturation d’espace disque (sur l’emplacement de sauvegarde) ou simplement à cause d’un problème de performance lié au serveur Windows Server.
Vous pouvez utiliser le script PowerShell suivant pour générer un rapport quotidien sur vos sauvegardes et le recevoir automatiquement par mail (mail de notification) sur une adresse email que vous spécifierez dans le code du script.
Notez que ce script vous détaillera également les éventuels messages d’erreurs remontés au niveau des journaux d’événements de Windows, plus précisément les journaux liés à la fonctionnalité « Sauvegarde Windows Server ».
Il suffit de remplacer les valeurs utilisées dans le script par celles qui correspondent à votre environnement, enregistrer les modifications, exécuter le script et le tour est joué J.
===================================================================
# Définir le rapport
$Date = Get-Date
$DateDemarrage = $Date.AddDays(-2)
$MonRapport = « Rapport de sauvegarde pour $Env:LABRDS01 du $Date`n »
# Collecte d’informations sur le jeu de sauvegarde
$MonRapport += « `tBackup Sets »
$MonRapport += Get-WBBackupSet | `
Where-Object BackupTime -gt $DateDemarrage | Out-String
Get-WBBackupSet | where BackupTime -gt $DateDemarrage | Out-String
# Création d’une collection de journaux d’événements importants
$MonRapport += « `Messages des journaux d’événements »
$Evenements = 1, 4, 5, 8, 9, 14, 17, 18, 19, 20, 21, 22, 49, 50, 52,
100, 224, 227, 517, 518, 521, 527, 528, 544, 545, 546, 561, 564,
612
# Recherche d’événements sur les journaux d’événements Windows
$MonRapport += Get-WinEvent -LogName « Microsoft-Windows-Backup » | `
Where-Object {$_.TimeCreated -ge $DateDemarrage} | `
Where-Object {$Evenements -contains $_.ID} | `
Format-Table TimeCreated, LevelDisplayName, ID, Message | Out-String
# Recherche de messages d’erreurs dans les journaux liés aux « Sauvegardes »
$MonRapport += « `Journaux d’erreurs Sauvegarde Windows Server »
$Journaux = Get-ChildItem C:\Windows\Logs\WindowsServerBackup*.log | `
Where-Object LastWriteTime -gt $DateDemarrage
$MonRapport += $Journaux | Select-String « ^Erreur » | Out-String
# Envoi de notification par mail
Send-MailMessage -From Notification@BecomeITExpert.com `
-To Admin@BecomeITExpert.com -SmtpServer mail.BecomeITExpert.com -Body <span style="color:#ff6600;">$MonRapport</span>
-Subject « Rapport de Sauvegarde pour $Env:LABRDS01 du $Date »
#Enregistrer et planifier le script de sauvegarde à l’aide du Planificateur de tâches
$Action = New-ScheduledTaskAction -Execute `
« %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe » `
-Argument « C:\Script2Sauvegarde.ps1 »
# Planifier l’exécution de la tâche
$DeclencheurTache = New-ScheduledTaskTrigger -Daily -At 10pm
# Définir le compte utilisateur pour l’exécution de la tâche planifiée et script
$UtilisateurTache = « BecomeITExpert\UtilisateurScriptADM »
$Mot2PasseTache = ‘MyP@$$w0rd*’
# Nommer et enregistrer la tâche
$NomTache = « Rapport de sauvegarde quotidien »
Register-ScheduledTask -TaskName $NomTache -Action $Action `
-Trigger $DeclencheurTache -User $UtilisateurTache -Password $Mot2PasseTache
Pour pouvoir recevoir les notifications par mail, vous devez vous assurer que le serveur depuis lequel vous exécutez le script arrive bien à communiquer avec votre serveur SMTP (local ou public) : checker les flux > e.g : SMTP 25/TCP
Cet article est un extrait de l’eBook [Windows Backup Server 2016 – Déploiement, Gestion et Automatisation en Entreprise]