When you upgrade Veeam Backup & Replication to V8, you have available the new Forward forever-incremental mode for your backups. This is the default method for all newly created jobs, but the alredy existing backup jobs are not changed, because we do not want to change the user experience or create issues to I/O profiles, backup windows and such.
If you want to leverage the new method, you simply have to edit your existing jobs and change their configuration. If it’s already a forward incremental job, you simply have to remove the scheduled weekly active or synthetic full. If it’s a reversed, you need to switch to the new mode. In any case, the existing retention will be preserved until it’s expired, and afterwards the new backup chain will be the only left into your backup repository.
But what if you have a large amount of jobs, and you want to reconfigure all of them? The manual edit could be cumbersome and take time, and also you risk to forget some of the jobs.
We have some great guys at Veeam, and from time to time they create some neat scripts and tools. This time, Preben Berg created this great powershell script, that will take all your existing forward incremental backup jobs and reconfigure them to use the new forward forever-incremental mode. Just run it against your Veeam Backup & replication server, and all your job will be reconfigured in few seconds.
Note that reversed incrementals will not be impacted by the script.
Great job Preben!
# Get all backup jobs $jobs = Get-VBRJob | Where-Object { $_.IsBackup -eq $true } foreach ($job in $jobs) { # Read current job settings $options = $job.GetOptions() # Select forward incremental $options.BackupTargetOptions.Algorithm = "Increment" # Disable synthetic fulls $options.BackupTargetOptions.TransformFullToSyntethic = $false # Disable transform previous chain into rollbacks $options.BackupTargetOptions.TransformIncrementsToSyntethic = $false # Disable active fulls $options.BackupStorageOptions.EnableFullBackup = $false # Apply new settings # UNCOMMENT THE FOLLOWING LINE TO ACTUALLY APPLY SETTINGS # $options = Set-VBRJobOptions -Job $job -Options $options Write-Host "Changed settings for" $job.Name }