Hello Bill, many thanks for your reply.

I'll try these very useful tips right away on our test-environment.

And if it's possible I would appreciate it very much if you can send some sample configs... As Lloyd said: "...working from examples to be a good bit easier. Also more likely to not only work, but work well".


Best Regards
Alfred


Am 24.05.2018 um 23:48 schrieb Bill Arlofski:
Hello Alfred,

A few things jump right out at me about your sample config...

Consider standard Full job vs an Incremental or Differential. You do not have
three different Jobs defined, each with a different level. This does not work
in the context of Bacula.  With Bacula, you define one job, and then run it at
different levels at specified times.

It is a similar case with Virtual Full jobs.

With VFulls, you define ONE Job. Then, you set up a schedule that runs
Incrementals on all the days you want, and a Virtual Full level on the day and
time you wish the Virtual Full to be triggered.

I always recommend that the Job is configured with "Level = Incremental", so
that whenever you run it manually, it will already be probably what you want.
If you need it to be a full, or Virtual Full run, then this can be changed
before submitting the job, or on the bconsole command line, for example:

* run job=someJob level=Full



If you have different pools for your normal Fulls and Incrementals, they will
both require a "NextPool = xxxx" setting where "xxxx" is the Pool you wish to
keep your Virtual Fulls in. Of course the "xxxx" will need to be the same in
the Full and Incremental pools.  Additionally, you can also set/override the
NextPool in the schedule, so it would not be required in the Pools at all.


Your schedules do not need the Accurate=yes option since it is set in your Job
already. They also do not need to specify the "Level=" except for the
VirtualFull Run line since the Level is already defined in the Job as 
Incremental.


For the schedule, it might look something simple like:
----8<----
Schedule {
  Name = "PVF_Schedule"
  Run = at 23:00
  Run = Level=VirtualFull Priority=12 sun at 23:30
}
----8<----

So, basically, what that example Schedule says is:
- Run Incrementals every day at 23:00. The Job has "Level = Incremental"
   defined, so no need to add it in the Schedule
- Run the VFull on Sunday at 23:30 with a different priority than normal
   jobs. This will ensure that the Incrementals finish before the VFull
   starts.

Additionally, you will want to add the "AllowDuplicateJobs=yes" to your Job
configuration so that if the Sunday Incremental has not finished, the Sunday
Virtual Full can be queued and it will wait. Otherwise it will be
automatically cancelled.


Also, keep in mind that since you have set "Backups To Keep = 95", this will
require that you run one Full (this will happen automatically the first time
Bacula is told to run the Job with Level=Incremental when no Full exists), and
then at least 96 Incrementals before you can run a Virtual Full.

In this case, the easiest way to do this is to simply comment out the
"Level=VirtualFull" line in the PVF_Schedule until you have the Full backup
and all the required Incrementals. If you do not do this, then, each Sunday
when the Schedule triggers the VirtualFull backup, the Job will fail with the
error "not enough backups" - until you have the required 96 jobs. :)


I think this should get you onto the right track. If real sample configs are
required, I think I can probably dig something up from my test environments,
or build some from scratch.  :)

Best regards,

Bill


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to