Re: Spool Data per job type

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

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

Wait. Yes it is. It is in the Data Spooling chapter at 
https://www.bacula.org/15.0.x-manuals/en/main/Data_Spooling.html, but it 
is not documented in the The Schedule Resource section of the 
"Configuring the Director" page at 
https://www.bacula.org/15.0.x-manuals/en/main/Configuring_Director.html#SECTION0023500000000000000000. 
Hence the confusion.

On 7/15/26 13:34, Josh Fisher via Bacula-users wrote:
>
>
> On 7/15/26 12:23, eric--- via Bacula-users wrote:
>> Hello,
>>
>>> Le 15 juil. 2026 à 14:37, Josh Fisher via Bacula-users 
>>> <[email protected]> a écrit :
>>>
>>>
>>> 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.
>>>
>> Sorry Josh, but I believe that the spooldata parameter can be set in 
>> command line and in the schedule. Maybe the documentation is not 
>> accurate on this point.
>
> Good to know! The documentation definitely does not include that.
>
>
>>
>> Best Regards,
>> Eric
>>
>>> 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
>>>>
>>> _______________________________________________
>>> 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
>
>
>
> _______________________________________________
> Bacula-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/bacula-users

--------------Jji485frn6bFMsIwzOAiDDEL
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>
    <font face="Arial">Wait. Yes it is. It is in the Data Spooling
      chapter at
      <a class="moz-txt-link-freetext" href="https://www.bacula.org/15.0.x-manuals/en/main/Data_Spooling.html">https://www.bacula.org/15.0.x-manuals/en/main/Data_Spooling.html</a>,
      but it is not documented in the The Schedule Resource section of
      the "Configuring the Director" page at
<a class="moz-txt-link-freetext" href="https://www.bacula.org/15.0.x-manuals/en/main/Configuring_Director.html#SECTION0023500000000000000000">https://www.bacula.org/15.0.x-manuals/en/main/Configuring_Director.html#SECTION0023500000000000000000</a>.
      Hence the confusion. </font><br>
    <br>
    <div class="moz-cite-prefix">On 7/15/26 13:34, Josh Fisher via
      Bacula-users wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:[email protected]">
      <br>
      <br>
      On 7/15/26 12:23, eric--- via Bacula-users wrote:
      <br>
      <blockquote type="cite">Hello,
        <br>
        <br>
        <blockquote type="cite">Le 15 juil. 2026 à 14:37, Josh Fisher
          via Bacula-users <a class="moz-txt-link-rfc2396E" href="mailto:[email protected]">&lt;[email protected]&gt;</a> a
          écrit :
          <br>
          <br>
          <br>
          On 7/14/26 12:43, Rob Gerber wrote:
          <br>
          <blockquote type="cite">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.
            <br>
          </blockquote>
          No. You can override the job level, storage, pool, and message
          resources to use, but not the spooling.
          <br>
          <br>
        </blockquote>
        Sorry Josh, but I believe that the spooldata parameter can be
        set in command line and in the schedule. Maybe the documentation
        is not accurate on this point.
        <br>
      </blockquote>
      <br>
      Good to know! The documentation definitely does not include that.
      <br>
      <br>
      <br>
      <blockquote type="cite">
        <br>
        Best Regards,
        <br>
        Eric
        <br>
        <br>
        <blockquote type="cite">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">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.
            <br>
            <br>
            <br>
            Robert Gerber
            <br>
            402-237-8692
            <br>
            <a class="moz-txt-link-abbreviated" href="mailto:[email protected]">[email protected]</a>
            <br>
            <br>
            On Tue, Jul 14, 2026, 11:33 AM Lloyd Brown
            <a class="moz-txt-link-rfc2396E" href="mailto:[email protected]">&lt;[email protected]&gt;</a> wrote:
            <br>
            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>
            <blockquote type="cite">Job {
              <br>
                 Type = Backup
              <br>
                 Name = vhome_a
              <br>
                 FileSet = "vhome_a_fileset"
              <br>
                 Level = Incremental
              <br>
                 schedule = "homedir-1-schedule"
              <br>
                 Pool = Disk-granite1
              <br>
                 Storage = granite1-sd-disk
              <br>
                 Messages = Standard
              <br>
                 Priority = 10
              <br>
                 Spool Data = yes
              <br>
                 Spool Attributes = yes
              <br>
                 Accurate = yes
              <br>
                 Write Bootstrap = "/var/lib/bacula/%c.bsr"
              <br>
                 Client = granite1-fd
              <br>
                 Maximum Concurrent Jobs = 1
              <br>
              <br>
                 #I might consider using the following, especially if I
              had similar
              <br>
              "Spool Data" parameters by job type:
              <br>
                 #Full Backup Pool = Tape-Pool-1
              <br>
                 #Differential Backup Pool = Tape-Pool-1
              <br>
              }
              <br>
              <br>
              <br>
              Schedule {
              <br>
                 Name = "homedir-1-schedule"
              <br>
              <br>
                 Run = Level=Full         Pool=Tape-Pool-1 SpoolData=yes
              1st mon at
              <br>
              01:00 Jan,Apr,Jul,Oct
              <br>
                 Run = Level=Differential Pool=Tape-Pool-1 SpoolData=yes
              1st mon at
              <br>
              01:00 Feb,Mar,May,Jun,Aug,Sep,Nov,Dec
              <br>
                 Run = Level=Incremental                   SpoolData=no
              2nd-5th mon
              <br>
              at 01:00 #no pool specified, will come from Job/JobDefs
              <br>
              }
              <br>
            </blockquote>
            -- <br>
            Lloyd Brown
            <br>
            HPC Systems Administrator
            <br>
            Office of Research Computing
            <br>
            Brigham Young University
            <br>
            <a class="moz-txt-link-freetext" href="http://rc.byu.edu">http://rc.byu.edu</a>
            <br>
            <br>
            <br>
            <br>
            _______________________________________________
            <br>
            Bacula-users mailing list
            <br>
            <a class="moz-txt-link-abbreviated" href="mailto:[email protected]">[email protected]</a>
            <br>
            <a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/bacula-users">https://lists.sourceforge.net/lists/listinfo/bacula-users</a>
            <br>
            <br>
            <br>
            _______________________________________________
            <br>
            Bacula-users mailing list
            <br>
            <a class="moz-txt-link-abbreviated" href="mailto:[email protected]">[email protected]</a>
            <br>
            <a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/bacula-users">https://lists.sourceforge.net/lists/listinfo/bacula-users</a>
            <br>
            <br>
          </blockquote>
          _______________________________________________
          <br>
          Bacula-users mailing list
          <br>
          <a class="moz-txt-link-abbreviated" href="mailto:[email protected]">[email protected]</a>
          <br>
          <a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/bacula-users">https://lists.sourceforge.net/lists/listinfo/bacula-users</a>
          <br>
        </blockquote>
        <br>
        <br>
        <br>
        _______________________________________________
        <br>
        Bacula-users mailing list
        <br>
        <a class="moz-txt-link-abbreviated" href="mailto:[email protected]">[email protected]</a>
        <br>
        <a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/bacula-users">https://lists.sourceforge.net/lists/listinfo/bacula-users</a>
        <br>
      </blockquote>
      <br>
      <br>
      <br>
      _______________________________________________
      <br>
      Bacula-users mailing list
      <br>
      <a class="moz-txt-link-abbreviated" href="mailto:[email protected]">[email protected]</a>
      <br>
      <a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/bacula-users">https://lists.sourceforge.net/lists/listinfo/bacula-users</a>
      <br>
    </blockquote>
    <br>
  </body>
</html>

--------------Jji485frn6bFMsIwzOAiDDEL--


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


--===============3934499701229331103==
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

--===============3934499701229331103==--