How would we setup bacula so that it creates file volumes in a manner where the volume names (labels) are predictable and things work well with rsync so that we're not sending massive amounts of data across the wire?
General strategy would be to write a full backup on 1st Sunday of the month, differentials on the other Sundays, and incrementals Mon-Sat. So we would want (3) files created, one for the "full", 1-5 for the "differentials", plus 1-6 for the "incrementals".
My thinking is that the first line of defense is the "Label Format" directive in the Pool resource. Using a label format like "${Storage}-${Job}-${Pool}-${Level}-${MediaType}" on the pool definition and using (3) different pools for (full / incremental / differential) seems like it would work, but I'm not sure how to convince Bacula to append on the proper days and recycle on the proper days.
Don't try to outsmart your tools - Set up a sane tape rotation and let Bacula do what Bacula does.
rsync
will figure out how to sync the data with a minimum amount of traffic over the wire.Bacula volumes are already inherently compatible with
rsync
, the same way any file is:Unless told to do otherwise Bacula will keep writing to a file until it reaches the maximum volume size you specified, and rsync will send only the appended data (remember a Bacula volume file is basically a glorified tape with better random access seek times).