-
- Influencer
- Posts: 12
- Liked: 1 time
- Joined: Apr 26, 2013 4:44 pm
- Full Name: Jeff LEBlanc
- Contact:
'Hybrid' Job Schedules
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?
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?
-
- VP, Product Management
- Posts: 6035
- Liked: 2860 times
- Joined: Jun 05, 2009 12:57 pm
- Full Name: Tom Sightler
- Contact:
Re: 'Hybrid' Job Schedules
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.
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.
-
- Influencer
- Posts: 12
- Liked: 1 time
- Joined: Apr 26, 2013 4:44 pm
- Full Name: Jeff LEBlanc
- Contact:
Re: 'Hybrid' Job Schedules
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?
Also, when you say 'using the scheduler' you mean the Windows Task Scheduler or that built into the Veeam Console?
-
- VP, Product Management
- Posts: 6035
- Liked: 2860 times
- Joined: Jun 05, 2009 12:57 pm
- Full Name: Tom Sightler
- Contact:
Re: 'Hybrid' Job Schedules
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.
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.
-
- Service Provider
- Posts: 182
- Liked: 48 times
- Joined: Sep 03, 2012 5:28 am
- Full Name: Yizhar Hurwitz
- Contact:
Re: 'Hybrid' Job Schedules
I'm also against job chaining if possible, if/when you have better solutions.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.
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
Yes, using the script above you can define different schedules to run the same (or different) script, with same (or different) group of jobs.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?
Yizhar
-
- Influencer
- Posts: 12
- Liked: 1 time
- Joined: Apr 26, 2013 4:44 pm
- Full Name: Jeff LEBlanc
- Contact:
Re: 'Hybrid' Job Schedules
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.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.
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.
-
- VP, Product Management
- Posts: 6035
- Liked: 2860 times
- Joined: Jun 05, 2009 12:57 pm
- Full Name: Tom Sightler
- Contact:
Re: 'Hybrid' Job Schedules
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.
-
- Service Provider
- Posts: 182
- Liked: 48 times
- Joined: Sep 03, 2012 5:28 am
- Full Name: Yizhar Hurwitz
- Contact:
Re: 'Hybrid' Job Schedules
Hi.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.
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
Who is online
Users browsing this forum: Bing [Bot], Google [Bot], Semrush [Bot] and 252 guests