Re: Spool Data per job type

Josh Fisher via Bacula-users <[email protected]> Wed, 15 Jul 2026 08:37:19 -0400
Newsgroups gmane.comp.bacula.user
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--===============1000769959792724514==
Content-Type: multipart/alternative;
 boundary="------------fIXEQmkAx1hipMk0BWPDzxKi"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------fIXEQmkAx1hipMk0BWPDzxKi
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 7/14/26 12:43, Rob Gerber wrote:
> I wonder if spooldata = yes/no or a joddef resource can be given as a 
> parameter for a schedule line. Not sure. I don't have the bacula 
> manuals in front of me.

No. You can override the job level, storage, pool, and message resources 
to use, but not the spooling.

However, despooling at the end of a job deletes any spool files written 
to a volume, therefore frees space as soon as the job finishes. There's 
not much reason to turn it off for incremental jobs only, since they 
generally run daily and are small. With small spool files from daily 
incrementals, it won't really slow the jobs down that much, just the 
time needed to write the spool file to the volume file on disk. If 
incrementals are known to be huge, then you could write incrementals to 
tape too. Ultimately, I think you either need more tapes or more disk 
space, but the data has to go somewhere.


>
> Otherwise, if you have suitable disk space, you could write your full 
> and diff backups to disk, then copy or migrate them off to tape. Spool 
> data would be set off for the disk jobs, and set on for the 
> copy/migrate jobs. Migrate would be the strategy that frees disk space 
> as soon as possible, if you have enough disk to hold one round of 
> fulls, but not enough for all the fulls in your catalog.
>
>
> Robert Gerber
> 402-237-8692
> [email protected]
>
> On Tue, Jul 14, 2026, 11:33 AM Lloyd Brown <[email protected]> wrote:
>
>     Hi, all.
>
>     With my new Bacula 15 deployment, I'm running into something I'd
>     like to
>     do, but I don't think there's a feature for it yet.  But before I
>     submit
>     a feature request, I wanted to sanity check, and see if anyone had an
>     alternative that I hadn't considered.
>
>     Here's the deal.  I have jobs that run Full, Differential and
>     Incremental jobs.  The Full and Differential jobs are supposed to
>     go to
>     a tape pool, and should use data spooling.  The Incremental jobs are
>     supposed to go to a disk pool, and should not use data spooling.  The
>     job can have "Full Backup Pool", "Differential Backup Pool", etc.,
>     defined, so different job types can end up in different pools.  But
>     there's no similar job-type-specific "Spool Data" attribute, is there?
>
>     Right now, I can handle this by putting in parameters in the
>     Schedule's
>     "run" lines.  And if those jobs are successful, then great. But if
>     not
>     (eg. a Full has failed), then subsequent Incremental jobs might get
>     upgraded to be a Full.  If I have the "Full Backup Pool"
>     specified, that
>     upgraded job would (I assume) end up in the right pool, but wouldn't
>     have the correct spooling set up.  Or if I don't have the "Full
>     Backup
>     Pool" set, then it will end up in the disk pool, instead of the tape
>     pool, albeit with the appropriate spool behavior for the disk pool.
>
>     I'll put an example of one of my jobs below, so you can tell me
>     what I
>     might be missing.  Or I can explain again, if this isn't clear.
>
>
>     Thanks,
>
>     Lloyd
>
>
>
>     Example job:
>
>     > Job {
>     >   Type = Backup
>     >   Name = vhome_a
>     >   FileSet = "vhome_a_fileset"
>     >   Level = Incremental
>     >   schedule = "homedir-1-schedule"
>     >   Pool = Disk-granite1
>     >   Storage = granite1-sd-disk
>     >   Messages = Standard
>     >   Priority = 10
>     >   Spool Data = yes
>     >   Spool Attributes = yes
>     >   Accurate = yes
>     >   Write Bootstrap = "/var/lib/bacula/%c.bsr"
>     >   Client = granite1-fd
>     >   Maximum Concurrent Jobs = 1
>     >
>     >   #I might consider using the following, especially if I had
>     similar
>     > "Spool Data" parameters by job type:
>     >   #Full Backup Pool = Tape-Pool-1
>     >   #Differential Backup Pool = Tape-Pool-1
>     > }
>     >
>     >
>     > Schedule {
>     >   Name = "homedir-1-schedule"
>     >
>     >   Run = Level=Full         Pool=Tape-Pool-1 SpoolData=yes 1st
>     mon at
>     > 01:00 Jan,Apr,Jul,Oct
>     >   Run = Level=Differential Pool=Tape-Pool-1 SpoolData=yes 1st
>     mon at
>     > 01:00 Feb,Mar,May,Jun,Aug,Sep,Nov,Dec
>     >   Run = Level=Incremental                   SpoolData=no 2nd-5th
>     mon
>     > at 01:00 #no pool specified, will come from Job/JobDefs
>     > }
>
>     -- 
>     Lloyd Brown
>     HPC Systems Administrator
>     Office of Research Computing
>     Brigham Young University
>     http://rc.byu.edu
>
>
>
>     _______________________________________________
>     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

--------------fIXEQmkAx1hipMk0BWPDzxKi
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <br>
    <div class="moz-cite-prefix">On 7/14/26 12:43, Rob Gerber wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAMKi9mQt5t0L19nUjv-zCipjUaL-JCGz77DjFmOEtWg_LVjY3g@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="auto">
        <div>I wonder if spooldata = yes/no or a joddef resource can be
          given as a parameter for a schedule line. Not sure. I don't
          have the bacula manuals in front of me. </div>
      </div>
    </blockquote>
    <br>
    No. You can override the job level, storage, pool, and message
    resources to use, but not the spooling.<br>
    <br>
    However, despooling at the end of a job deletes any spool files
    written to a volume, therefore frees space as soon as the job
    finishes. There's not much reason to turn it off for incremental
    jobs only, since they generally run daily and are small. With small
    spool files from daily incrementals, it won't really slow the jobs
    down that much, just the time needed to write the spool file to the
    volume file on disk. If incrementals are known to be huge, then you
    could write incrementals to tape too. Ultimately, I think you either
    need more tapes or more disk space, but the data has to go
    somewhere.<br>
    <br>
    <br>
    <blockquote type="cite"
cite="mid:CAMKi9mQt5t0L19nUjv-zCipjUaL-JCGz77DjFmOEtWg_LVjY3g@mail.gmail.com">
      <div dir="auto">
        <div dir="auto"><br>
        </div>
        <div dir="auto">Otherwise, if you have suitable disk space, you
          could write your full and diff backups to disk, then copy or
          migrate them off to tape. Spool data would be set off for the
          disk jobs, and set on for the copy/migrate jobs. Migrate would
          be the strategy that frees disk space as soon as possible, if
          you have enough disk to hold one round of fulls, but not
          enough for all the fulls in your catalog. </div>
        <div dir="auto"><br>
        </div>
        <div dir="auto"><br>
        </div>
        <div data-smartmail="gmail_signature">Robert Gerber<br>
          402-237-8692<br>
          <a href="mailto:[email protected]" moz-do-not-send="true"
            class="moz-txt-link-freetext">[email protected]</a></div>
      </div>
      <br>
      <div class="gmail_quote gmail_quote_container">
        <div dir="ltr" class="gmail_attr">On Tue, Jul 14, 2026, 11:33 AM
          Lloyd Brown &lt;<a href="mailto:[email protected]"
            moz-do-not-send="true" class="moz-txt-link-freetext">[email protected]</a>&gt;
          wrote:<br>
        </div>
        <blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,
          all.<br>
          <br>
          With my new Bacula 15 deployment, I'm running into something
          I'd like to <br>
          do, but I don't think there's a feature for it yet.  But
          before I submit <br>
          a feature request, I wanted to sanity check, and see if anyone
          had an <br>
          alternative that I hadn't considered.<br>
          <br>
          Here's the deal.  I have jobs that run Full, Differential and
          <br>
          Incremental jobs.  The Full and Differential jobs are supposed
          to go to <br>
          a tape pool, and should use data spooling.  The Incremental
          jobs are <br>
          supposed to go to a disk pool, and should not use data
          spooling.  The <br>
          job can have "Full Backup Pool", "Differential Backup Pool",
          etc., <br>
          defined, so different job types can end up in different
          pools.  But <br>
          there's no similar job-type-specific "Spool Data" attribute,
          is there?<br>
          <br>
          Right now, I can handle this by putting in parameters in the
          Schedule's <br>
          "run" lines.  And if those jobs are successful, then great. 
          But if not <br>
          (eg. a Full has failed), then subsequent Incremental jobs
          might get <br>
          upgraded to be a Full.  If I have the "Full Backup Pool"
          specified, that <br>
          upgraded job would (I assume) end up in the right pool, but
          wouldn't <br>
          have the correct spooling set up.  Or if I don't have the
          "Full Backup <br>
          Pool" set, then it will end up in the disk pool, instead of
          the tape <br>
          pool, albeit with the appropriate spool behavior for the disk
          pool.<br>
          <br>
          I'll put an example of one of my jobs below, so you can tell
          me what I <br>
          might be missing.  Or I can explain again, if this isn't
          clear.<br>
          <br>
          <br>
          Thanks,<br>
          <br>
          Lloyd<br>
          <br>
          <br>
          <br>
          Example job:<br>
          <br>
          &gt; Job {<br>
          &gt;   Type = Backup<br>
          &gt;   Name = vhome_a<br>
          &gt;   FileSet = "vhome_a_fileset"<br>
          &gt;   Level = Incremental<br>
          &gt;   schedule = "homedir-1-schedule"<br>
          &gt;   Pool = Disk-granite1<br>
          &gt;   Storage = granite1-sd-disk<br>
          &gt;   Messages = Standard<br>
          &gt;   Priority = 10<br>
          &gt;   Spool Data = yes<br>
          &gt;   Spool Attributes = yes<br>
          &gt;   Accurate = yes<br>
          &gt;   Write Bootstrap = "/var/lib/bacula/%c.bsr"<br>
          &gt;   Client = granite1-fd<br>
          &gt;   Maximum Concurrent Jobs = 1<br>
          &gt;<br>
          &gt;   #I might consider using the following, especially if I
          had similar <br>
          &gt; "Spool Data" parameters by job type:<br>
          &gt;   #Full Backup Pool = Tape-Pool-1<br>
          &gt;   #Differential Backup Pool = Tape-Pool-1<br>
          &gt; }<br>
          &gt;<br>
          &gt;<br>
          &gt; Schedule {<br>
          &gt;   Name = "homedir-1-schedule"<br>
          &gt;<br>
          &gt;   Run = Level=Full         Pool=Tape-Pool-1 SpoolData=yes
          1st mon at <br>
          &gt; 01:00 Jan,Apr,Jul,Oct<br>
          &gt;   Run = Level=Differential Pool=Tape-Pool-1 SpoolData=yes
          1st mon at <br>
          &gt; 01:00 Feb,Mar,May,Jun,Aug,Sep,Nov,Dec<br>
          &gt;   Run = Level=Incremental                   SpoolData=no
          2nd-5th mon <br>
          &gt; at 01:00 #no pool specified, will come from Job/JobDefs<br>
          &gt; }<br>
          <br>
          -- <br>
          Lloyd Brown<br>
          HPC Systems Administrator<br>
          Office of Research Computing<br>
          Brigham Young University<br>
          <a href="http://rc.byu.edu" rel="noreferrer noreferrer"
            target="_blank" moz-do-not-send="true"
            class="moz-txt-link-freetext">http://rc.byu.edu</a><br>
          <br>
          <br>
          <br>
          _______________________________________________<br>
          Bacula-users mailing list<br>
          <a href="mailto:[email protected]"
            target="_blank" rel="noreferrer" moz-do-not-send="true"
            class="moz-txt-link-freetext">[email protected]</a><br>
          <a
href="https://lists.sourceforge.net/lists/listinfo/bacula-users"
            rel="noreferrer noreferrer" target="_blank"
            moz-do-not-send="true" class="moz-txt-link-freetext">https://lists.sourceforge.net/lists/listinfo/bacula-users</a><br>
        </blockquote>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre wrap="" class="moz-quote-pre">_______________________________________________
Bacula-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:[email protected]">[email protected]</a>
<a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/bacula-users">https://lists.sourceforge.net/lists/listinfo/bacula-users</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------fIXEQmkAx1hipMk0BWPDzxKi--


--===============1000769959792724514==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============1000769959792724514==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Bacula-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-users

--===============1000769959792724514==--