Veeam est un excellent outil pour effectuer des sauvegardes. Sa facilité de gestion, les possibilités nombreuses, les fonctionnalités et les performances sont la raison première de son implémentation dans bon nombre d'entreprises. Dans une de mes expériences professionnelles, j'ai eu à gérer une belle infrastructure Veeam : Un serveur Veeam avec une BDD séparée, 6 serveurs de repository, une vingtaine de serveurs proxy et une volumétrie de plus de 400 To. Et vous vous doutez bien que pour une telle infrastructure, il y a un bon nombre de sauvegardes qui sont présentes. Plus d'une centaine, exactement.
Et qu'est ce qui se passe lorsque l'on doit changer la politique sur les backups?
Bien sur, on fait appel à la solution 2, et on trouve en suite de cet article le script tant demandé, commenté, expliqué! Dans cet exemple, vous verrez comment :
N'hésitez pas à laisser un petit commentaire si ce script vous a été utile!
Vous pouvez le télécharger sur mon espace git personnel.
#On commence par importer le module Veeam pour Powershell. Ce module est disponible sur le serveur ayant Veeam Backup & Restore d'installé
Import-Module Veeam.Backup.PowerShell
# Nous enregistrons l'ensemble des jobs que nous voulons modifier. Ici, nous filtrons sur les jobs ayant "Premium" dans leur nom
$tochangejobs = Get-VBRJob -Name "premium"
# Cet index est juste là pour afficher la progression, rien de plus
$i = 1
#Pour chaque job dans les jobs sélectionnés
foreach ($changeme in $tochangejobs)
{
#On affiche la progression via Write-Progress
Write-Progress -Activity "Modification des jobs" -Status $($changeme).name -PercentComplete $($i / $($tochangejobs.count) \* 100)
#Pour les jobs de Synthetic Full, on peut utiliser Set-VBRJobAdvancedBackupOptions, qui permet de modifier certains paramètres que l'on trouve dans les arguments de la commande.
#Ici, TransformToSyntethicDays accepte une liste séparée par des virgules d'une énumération de jours.
Set-VBRJobAdvancedBackupOptions -Job $changeme -TransformToSyntethicDays Friday,Monday
#Par contre, Set-VBRJobAdvancedBackupOptions n'est pas en mesure de changer la durée de rétention.
#Pour ça, nous allons directement changer une propriété d'un objet représentant les options du job.
try
{
#Nous enregistrons les options du job sélectionné dans un objet
$joboptions = Get-VBRJobOptions -Job $changeme -ErrorAction Stop
#Puis nous modifions les propriétés de cet objet à notre guise. Ici, le nombre de points du job.
$joboptions.BackupStorageOptions.RetainCycles = 14
#Et enfin, nous appliquons à nouveau l'objet d'options de job à notre job, ce qui aura pour effet de le modifier.
Set-VBRJobOptions -Job $changeme -Options $joboptions -ErrorAction Stop
}
catch
{
#Un peu de Try / Catch au cas ou un problème arrive
Write-Error "Erreur sur $($premium.name)"
}
#On incrémente notre index pour l'affichage de Write-Progress
$i++
}