Posts Tagged post

Scheduling Veeam Backup Jobs for Daily Incremental and Weekly Full using PowerShell


As every Veeam Backup & Replication User/Administrator can see that only one schedule can be configured for each job, which will includes First Full backup, Active Full backup and Daily Increments.

Daily incremental takes less time than the full backup and if you have configured the jobs to run each after another with minimum 20 – 30 minutes cap. In the same job there you are restricted to select either Synthetic Backup with Transforming the Backups into one Full Backup *.VBK file chain of all previous incremental or you have to select Active Full.

Synthetic takes less time to finish incremental, but if you don’t have good CPU/Memory resources and Disk I/O, the transformation process could take time or you might end up with full VM freezing.

But if you are in Active Backup and selected Weekly Active Full Backup on Friday let assume, which again if Friday trigger it will run as Full in the same time that the daily incremental runs which will take longer to finish and in the same time the second job will start before the first job finish and will end up having whole jobs running and will slow down the read and write performance of the disks and Veeam server.

Since Friday is the day off and the servers/systems are being utilized very less, I have the whole day to run my backup, but can I can configure the Active Full Backup to run on different day other than the one which is configured in the Job Scheduler of the Backup Job?

Currently there is no way to configure it from the Veeam GUI and it would be very fantastic feature if Veeam.com would consider to add a separate schedule for the Active Full Backup.

The only way to make sure you run your jobs without overlapping with other jobs and will run into performance issue; with very simple Veeam PowerShell script and a Windows batch script to call the PS1 script will make sure all jobs runs as per your needs.
In my environment, I’m backing up 44 VMs those VMs divided into 5 Jobs; I have created 5 scripts for each job and I disabled the Backup Job Schedule;

Critical VMs-1

Critical VMs-2

Critical VMs-3

Critical VMs-4

Critical VMs-5

I have created two scripts for each job as follows;

PowerShell Script “Critical VMs-1.PS1

Add-PSSnapIn -Name VeeamPSSnapIn -ErrorAction SilentlyContinue
Get-VBRJob -Name "Critical VMs-1" | Start-VBRJob

This Power Shell Script, will find the job name “Critical VMs-1” via the Get-VBRJob command and will start the Backup job via Start-VBRJob.

And another Windows Batch Script to call the Critical VMs-1.PS1 PowerShell script and invoke it into the PowerShell;

Windows Batch Script “RunCritical-1.bat

PowerShell.exe G:\Scripts\Critical VMs-1.PS1

I have repeated the same scripts for each job. Then in the task Scheduler in windows server 2008 R2, I configured two schedules for each backup job, so one schedule will run the same script RunCritical-1.bat from Sunday to Thursday as daily incremental and the same script will run on Friday on different time than the daily schedule, this will make sure that I have enough time window to run my backup jobs from early morning on Friday.  And since the Veeam Backup Job already configured as Active Full on Friday, it will automatically triggered and run as Full.

Hope it helps;

Advertisements

, , , , ,

1 Comment