Comprehensive data protection for all workloads
Post Reply
jleblanc
Influencer
Posts: 12
Liked: 1 time
Joined: Apr 26, 2013 4:44 pm
Full Name: Jeff LEBlanc
Contact:

'Hybrid' Job Schedules

Post by jleblanc »

This is a bit of a two part question.

I have some jobs that I wish to run in a chained fasion over the weekend, because I'm unabled to predict when they will complete and I want to minimize concurrent jobs when running fulls. During the week I wish to run their incrementals at night. Right now I am manually going into the Veeam console and changing the times.

Can I set the schedule in Veeam to run the jobs after other jobs completes but then use the command line to use windows task scheduler to have them run at alternate times (2:00 am lets say) during weekdays?

To take this a step further is it possible to chain jobs using windows task scheduler?
tsightler
VP, Product Management
Posts: 6009
Liked: 2842 times
Joined: Jun 05, 2009 12:57 pm
Full Name: Tom Sightler
Contact:

Re: 'Hybrid' Job Schedules

Post by tsightler » 2 people like this post

It's certainly possible, but I always recommend against chaining jobs when at all possible, there are a myriad of ways to control concurrency, such as simply reducing the concurrency of the repository (or even the proxy for smaller environments). You can then schedule jobs to start at the same time (or with short intervals) and they will just queue up and start automatically one after the other.

Chaining jobs is prone to many problems such as broken jobs not completing the chain, jobs spanning over midnight causing synthetic fulls not to run, etc. Using the scheduler to accomplish the same tasks solves these problems an decreases the chance of administrative errors. It's also important to note that V7 will include the ability to run concurrently within a job and even within VMs (disabled by default for upgrades from existing versions, but enabled for new installs) so limiting concurrency from within the infrastructure is really the best solution.
jleblanc
Influencer
Posts: 12
Liked: 1 time
Joined: Apr 26, 2013 4:44 pm
Full Name: Jeff LEBlanc
Contact:

Re: 'Hybrid' Job Schedules

Post by jleblanc »

Thanks for the response, I had no idea about the concurrency setting! How would chaining a job differ from setting the concurrecy of the repository to one?
Also, when you say 'using the scheduler' you mean the Windows Task Scheduler or that built into the Veeam Console?
tsightler
VP, Product Management
Posts: 6009
Liked: 2842 times
Joined: Jun 05, 2009 12:57 pm
Full Name: Tom Sightler
Contact:

Re: 'Hybrid' Job Schedules

Post by tsightler » 1 person likes this post

As mentioned above, chaining jobs leads to all types of unexpected issues and administrative overhead. For example, if I run synthetic fulls on Saturday. If I use job chaining and the chain starts at 6PM, but the last job in the chain doesn't start until 1AM, then technically it will have started on Sunday and thus it's Synthetic full process might not run. Or perhaps sometimes it starts on Saturday, and other times on Sunday due to the length of previous jobs. Or perhaps and earlier job fails or hangs (not unheard of) then none of your other jobs will start. Or if an administrator deletes a job and forgets about the chain of dependent jobs. I've just see a lot of admins cause themselves future grief with this feature. When you move functionality from the Veeam scheduler it's not always obvious what's going on 6 months from now when you forget the changes you made or when you "hand off" to the next guy, whereas, if everything is clear right in the GUI it's easier to figure out what's going on.

The Veeam scheduler is very flexible and the concurrency controls on the proxies and repositories allow you to control concurrency to your hearts content without having to worry about any of those. Just create jobs, schedule them up to run (perhaps with a small interval), and if they overlap the concurrency controls will simply force them to run in order. Then n the future you need to delete a job, no problem, add a job, no problem, job fails, others just run. If a job doesn't start processing until after midnight, no problem, synthetic fulls will still run because the job "started" on Saturday. I'm not saying chaining jobs never has it's uses, but if the primary purpose is just to control concurrency, there are simply better ways to accomplish that task.

Now, regarding your original issue, can you explain the reason why you want the jobs to run at a different time on the weekend? I can think of a couple of ways to accomplish this that may be easier. That being said, I realized I didn't answer your question, it is certainly possible to run the jobs via Windows Task Scheduler. The command to run a job is actually displayed on the Summary tab which is the last screen of the job wizard. In the simplest case you can just use Task Scheduler to run this command and if jobs are chained the others will run in order. There are also more advanced examples of Powershell scripts on the forum that can do more sophisticated things regarding running jobs manually so certainly if this is something that you need to do for your environment it's possible and easy to do. I just wanted to make sure it was the "best" thing to do.
yizhar
Service Provider
Posts: 181
Liked: 48 times
Joined: Sep 03, 2012 5:28 am
Full Name: Yizhar Hurwitz
Contact:

Re: 'Hybrid' Job Schedules

Post by yizhar » 1 person likes this post

jleblanc wrote: I have some jobs that I wish to run in a chained fasion over the weekend, because I'm unabled to predict when they will complete and I want to minimize concurrent jobs when running fulls. During the week I wish to run their incrementals at night. Right now I am manually going into the Veeam console and changing the times.
I'm also against job chaining if possible, if/when you have better solutions.

One alternative is scheduling all jobs to the same start time, and limiting concurrent execution, as mentioned by tsightler

Another options is PS script, similar to this one which I am currently using:
Veeam Backup Script to run multiple jobs in sequence
jleblanc wrote: Can I set the schedule in Veeam to run the jobs after other jobs completes but then use the command line to use windows task scheduler to have them run at alternate times (2:00 am lets say) during weekdays?

To take this a step further is it possible to chain jobs using windows task scheduler?
Yes, using the script above you can define different schedules to run the same (or different) script, with same (or different) group of jobs.

Yizhar
jleblanc
Influencer
Posts: 12
Liked: 1 time
Joined: Apr 26, 2013 4:44 pm
Full Name: Jeff LEBlanc
Contact:

Re: 'Hybrid' Job Schedules

Post by jleblanc »

tsightler wrote:Now, regarding your original issue, can you explain the reason why you want the jobs to run at a different time on the weekend? I can think of a couple of ways to accomplish this that may be easier. That being said, I realized I didn't answer your question, it is certainly possible to run the jobs via Windows Task Scheduler.
I appreciate your response and actually just set my concurrency and chained my job times by staggering schedules in 10 minute intervals. Also, I certainly see the value of having everything scheduled in Veeam so that people don't have to go digging for the schedules in MS task scheduler.

The reason I'm looking to run jobs on different times over the weekend is that I have lower I/O usage profiles over the weekend, so its a good time for me to take my backups of large machine that have very heavy usage during the business week.
tsightler
VP, Product Management
Posts: 6009
Liked: 2842 times
Joined: Jun 05, 2009 12:57 pm
Full Name: Tom Sightler
Contact:

Re: 'Hybrid' Job Schedules

Post by tsightler »

Just to make sure I understand correctly, are saying you don't backup these larger VMs during the week at all or that you backup them up at 2AM but would prefer for them to start earlier on the weekend? Are the weekend runs full backups or still incremental? What backup mode are you using (forward/reverse)? I'm thinking some type of script will be required, and it's possible scheduling via Task Manager may be the easiest method, but the other options that pops to mind is using a simple post-job script that checks the day of the week and manually overrides the start time for the next job on the weekend. Or perhaps instead of running jobs from Task Manager, a simple Powershell that runs and changes the job schedule for the jobs in question.
yizhar
Service Provider
Posts: 181
Liked: 48 times
Joined: Sep 03, 2012 5:28 am
Full Name: Yizhar Hurwitz
Contact:

Re: 'Hybrid' Job Schedules

Post by yizhar »

jleblanc wrote: The reason I'm looking to run jobs on different times over the weekend is that I have lower I/O usage profiles over the weekend, so its a good time for me to take my backups of large machine that have very heavy usage during the business week.
Hi.

In that case you can:

1. Keep existing job chaining in place, and configure regular daily schedule using Veeam GUI.

2. Create additional schedule just for weekly runs, using Task Scheduler and a command to start the first backup in the chain at the time you want, for example Saturday/Sunday morning instead of evening.

This will keep most configuration in Veeam GUI, and leverage Task Scheduler only for the different weekly schedule.

Yizhar
Post Reply

Who is online

Users browsing this forum: duhaa, Noushad, Semrush [Bot] and 166 guests