Why a copy job?

Is it because you want to backup to cloud when the clients may not be
online?

I just use a standard scheduled backup job to cloud storage, B2 in my case,
with the usual full/diff/incremental pools. My clients are on 24/7.

I suppose this means that the main and cloud backups may not be identical
but that's not an issue for me.

I did find that upload occasionally fails so I use a run after script to
upload the cache. Mostly it doesn't upload anything but on the occasions
when upload fails, it corrects itself. B2 occasionally reports no slots
available so this gets over that.

-Chris-

On Fri, 3 Jul 2026, 16:02 Andrea Venturoli, <[email protected]> wrote:

> Hello.
>
> I have a setup where I back up several machines to a local NAS.
> Now, in order to avoid having data and backups in the same building, I'd
> like to add cloud backups (to an S3 storage).
>
> For most machines backups are monthly Fulls, weekly Diffs and daily Incs
> (although a couple only have monthly fulls); I'like to copy Fulls and
> Diffs (no Incs) to the cloud.
>
>
>
> I came up with a solution using copy jobs like the following
> (unimportant options redacted):
>
> > Pool {
> >   Name=Full
> > }
> > Pool {
> >   Name=Diff
> > }
> > Pool {
> >   Name=Inc
> > }
> > Job {
> >   Name=BackupFoo
> >   Schedule=NightlyFDIFullOnSun
> >   JobDefs="DefaultJob"
> >   FileSet=Foo
> >   Client=Foo-fd
> >   Full Backup Pool=Full
> >   Differential Backup Pool=Diff
> >   Incremental Backup Pool=Inc
> > }
> > Job {
> >   Name=CloudBackupFoo
> >   Schedule=Weekly
> >   JobDefs="DefaultJob"
> >   FileSet=Foo
> >   Type=Copy
> >   Selection Type=SQLQuery
> >   Selection Pattern="SELECT jobid FROM job WHERE name='BackupFoo' AND
> (level='F' OR level='D') AND jobstatus='T' AND poolid!=14 AND poolid!=15
> ORDER BY endtime DESC LIMIT 1"
> >   Full Backup Pool=Full
> >   Differential Backup Pool=Diff
> > }
>
> This sort of works, but there are a few problems.
>
> A) All copy jobs end up in the "CloudFull" pool; no matter if they were
> a copy of a full or diff job; "CloudDiff" is never used.
> This will prevent keeping fulls for, say, 4 months, and diffs for a
> shorter time, thus wasting cloud space.
>
> B) If host "foo" does a full, the full gets copied; but if it skips the
> next diff, the full will be copied twice, thus, again, wasting space for
> nothing.
>
>
>
> Another approach I though of is using the "Run" parameter in the Job
> definition.
> Perhaps I don't understand this fully, but:
> A) It would run both jobs (local and clouds) on the client and the
> client might be a PC or notebook that is turned off/carried away; so I'd
> really like to run only the local job on it and let the storage daemon
> do the cloud one;
> B) it would run the cloud job immediately, thus wasting daytime
> bandwidth. It would be a lot better if it ran at night (but, again, it
> must be a copy job then, so as not to require the client).
>
>
>
> Any suggestion?
>
>   bye & Thanks
>         av.
>
>
> _______________________________________________
> Bacula-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/bacula-users
>
_______________________________________________
Bacula-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to