Thank you Bill, a comprehensive reply as always 🙏. I'll need to study this
some more.

-Chris-

On Thu, 18 May 2023, 16:45 Bill Arlofski via Bacula-users, <
bacula-users@lists.sourceforge.net> wrote:

> On 5/18/23 08:07, Chris Wilkinson wrote:
> > I have not used a copy job before so I thought I would try one. I used
> Baculum v11 to set one up that copies a job from a
> > local USB drive to a NAS. The setup was straightforward. I created a new
> pool to receive the copy, defined the source and
> > destination job, pool and SD/storage. This worked just fine creating the
> new volumes on the destination storage.
> >
> > The thing I'm not clear about is whether a copy job copies only the pool
> specified as the source, in my case a full, or
> > whether all of full/diff/incr pools for the job are copied.
> >
> > My suspicion is that only the full is copied and I would need additional
> jobs for the diff/incr.
> >
> > Given that there is a 1:1 correspondence between a job definition and
> its pools, Bacula should be able to deduce one from the
> > other but it seems to be required to specify both.
> >
> > Could anyone help me understand this?
> >
> > Chris Wilkinson
>
> Hello Chris,
>
> A Copy job will copy
> what you tell it to. :)
>
> What I mean is there are several ways to tell a Copy job what jobs to
> copy. The simplest being the `SelectionType =
> PoolUncopiedJobs`
>
> Using this option, Bacula will only look to the Pool specified in the Copy
> job itself for jobids which have not yet been
> copied and it will spawn n-1 new iterations of itself - each one to copy
> one job - and it will take the last jobid found and
> copy it itself.
>
> At the beginning of the Copy job, Bacula will list the jobids it has
> identified to be copied.
>
> When setting up Copy jobs for the first time on an existing pool with a
> lot of jobs existing it is a good idea to set the
> `MaximumSpawnedJobs = 1` while testing to make sure things look/work OK so
> you are not spawning hundreds or thousands of Copy
> jobs which may not work or need to be canceled. :)
>
> Then, once things are OK, that number can be raised or the setting can be
> removed entirely.
>
> You can also just specify a specific jobid to be copied on the comm
> and line:
>
> * run job=CopyJobNAme jobid=12345
>
> And this one jobid would be copied - regardless of the `Pool =` setting
> the the Copy job.
>
> You can use `SelectionType = SQLQuery` and then the `SelectionPattern =`
> can be used to specify *any* jobs you want to be
> copied, also overriding the pool set in the Copy job itself.
>
> If you have Full, Inc, and Diff pools, you might have three copy jobs, one
> for each pool, or  you could simply call the Copy
> job three times and override the `pool=xxx` on the command line or in a
> Schedule.
>
> Something I have helped customers with is to set up a Copy job to be run
> immediately after the backup job itself has
> completed. In this use case, you just call a small script in a RunScript
> {} section in your job:
>
>
> Job {
>   ...All normal job stuff goes here...
>
>    RunScript {
>      RunsOnCLient = no
>      RunsWhen = after
>      Command = "path/to/triggerCopyJobsScript.sh %i '%n' %l"
>    }
> }
>
>   ...and that script simply starts the copy job wit
> h the jobid=xxxx option:
>
> ----8<----
> #!/bin/bash
> #
> # $1 = jobid, $2 = Job name, $3 = Level
> #
> if [ "$3" = "Full" ]; then
>    echo "Jobid $3 (${2}) is a Full job, triggering a copy of it..."
>    echo "run yes job=CopyJobName jobid=$1" | bconsole
> else
>    echo "This is not a Full level job, not copying it..."
> fi
> ----8<----
>
> I pass the level and jobname so, as in the case of this customer, they
> wanted to only copy full jobs, so we just check the
> level and decide to trigger the copy job or not.
>
> Note: Using this method, the Priority of your Copy job needs to be the
> same as the Backup job otherwise you will enter a
> deadlock where the Backup job never finishes because it is waiting on the
> Copy to finish, but the Copy will never start
> because it is waiting on the Backup job to finish. :)     (Sure, allowing
> "mixed priority" can be done, but that just adds
> more confusion, problems etc.)
>
>
> Hope some of this helps!
>
>
> Best regards,
> Bill
>
> --
> Bill Arlofski
> waa@proto
> nmail.com
>
> _______________________________________________
> Bacula-users mailing list
> Bacula-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bacula-users
>
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to