Schedule is missing an entry

12 views
Skip to first unread message

Mikael Bertelsen

unread,
Mar 23, 2020, 3:51:20 PM3/23/20
to bareos...@googlegroups.com

Hi

I've created my backup schedules for a client, but I'm missing an entry in the DIFFERENTIAL schedule. Let me explain...

My attempt is to create a schedule where I'm doing
* a FULL backup every 1st day of the month
* a DIFFERENTIAL backup every Sunday if it's not the 1st day of the month (where I'm doing the FULL backup)
* an INCREMENTAL backup every day except on the 1st day of the month and Sundays (where I'm doing the DIFFERENTIAL backup)

This gives me, as expected, that the 1st of March and the 1st of April (and so on) schedules a FULL backup.
And for the DIFFERENTIAL I'm getting the pattern I expect of every Sunday, but I'm not getting the entry for the 29th of March - why is that?
I've done successful backups of all levels for the last two weeks, and the backups are working as expected. That is the DIFF is only backing up files changed since the last FULL, and INCR is only backing up files changed since the last DIFF.
My schedules are shown below, and I've inserted an entry to indicate where I expected to find the DIFFERENTIAL schedule.

System and versions:
root@file:/usr/local/etc/bareos/bareos-dir.d/schedule # uname -a
FreeBSD file 12.1-RELEASE-p2 FreeBSD 12.1-RELEASE-p2 GENERIC  amd64

Bareos installed from the pkg-repository
Version: 19.2.6 (11 February 2020) FreeBSD-12.0-RELEASE-p13 freebsd 12.0-RELEASE-p13

Schedule config:
root@file:/usr/local/etc/bareos/bareos-dir.d/schedule # cat file.conf
Schedule {
  Name = "file"

  # Run Full backup every first day of the month.
  Run = Level=Full Pool=Cust0_Full Accurate=yes SpoolData=yes jan-dec on 1 at 02:00

  # Run Differential backup every Sunday if it is not the first day of the month.
  Run = Level=Differential Pool=Cust0_Diff Accurate=yes SpoolData=yes jan-dec on 2-31 sun at 02:00

  # Run Incremental backup every Monday to Saturday if it is not the first day of the month.
  Run = Level=Incremental Pool=Cust0_Incr Accurate=yes SpoolData=yes jan-dec on 2-31 mon-sat at 02:00
}

Schedules for FULL backup:
root@file:~ # echo "status schedules days=365" | bconsole | grep file | grep Full
Wed 01-Apr-2020 02:00  file        Level=Full Spool Data=1 Accurate=1 Pool=Cust0_Full
Fri 01-May-2020 02:00  file        Level=Full Spool Data=1 Accurate=1 Pool=Cust0_Full
Mon 01-Jun-2020 02:00  file        Level=Full Spool Data=1 Accurate=1 Pool=Cust0_Full
Wed 01-Jul-2020 02:00  file        Level=Full Spool Data=1 Accurate=1 Pool=Cust0_Full
Sat 01-Aug-2020 02:00  file        Level=Full Spool Data=1 Accurate=1 Pool=Cust0_Full
Tue 01-Sep-2020 02:00  file        Level=Full Spool Data=1 Accurate=1 Pool=Cust0_Full
Thu 01-Oct-2020 02:00  file        Level=Full Spool Data=1 Accurate=1 Pool=Cust0_Full
Sun 01-Nov-2020 02:00  file        Level=Full Spool Data=1 Accurate=1 Pool=Cust0_Full
Tue 01-Dec-2020 02:00  file        Level=Full Spool Data=1 Accurate=1 Pool=Cust0_Full
Fri 01-Jan-2021 02:00  file        Level=Full Spool Data=1 Accurate=1 Pool=Cust0_Full
Mon 01-Feb-2021 02:00  file        Level=Full Spool Data=1 Accurate=1 Pool=Cust0_Full
Mon 01-Mar-2021 02:00  file        Level=Full Spool Data=1 Accurate=1 Pool=Cust0_Full

Schedules for DIFFERENTIAL backup:
root@file:~ # echo "status schedules days=365" | bconsole | grep file | grep Differential
*** Entry expected here for Sun 29-Mar-2020 02:00 ***
Sun 05-Apr-2020 02:00  file        Level=Differential Spool Data=1 Accurate=1 Pool=Cust0_Diff

Sun 12-Apr-2020 02:00  file        Level=Differential Spool Data=1 Accurate=1 Pool=Cust0_Diff
Sun 19-Apr-2020 02:00  file        Level=Differential Spool Data=1 Accurate=1 Pool=Cust0_Diff
Sun 26-Apr-2020 02:00  file        Level=Differential Spool Data=1 Accurate=1 Pool=Cust0_Diff
Sun 03-May-2020 02:00  file        Level=Differential Spool Data=1 Accurate=1 Pool=Cust0_Diff
[SNIP]
Sun 07-Feb-2021 02:00  file        Level=Differential Spool Data=1 Accurate=1 Pool=Cust0_Diff
Sun 14-Feb-2021 02:00  file        Level=Differential Spool Data=1 Accurate=1 Pool=Cust0_Diff
Sun 21-Feb-2021 02:00  file        Level=Differential Spool Data=1 Accurate=1 Pool=Cust0_Diff
Sun 28-Feb-2021 02:00  file        Level=Differential Spool Data=1 Accurate=1 Pool=Cust0_Diff
Sun 07-Mar-2021 02:00  file        Level=Differential Spool Data=1 Accurate=1 Pool=Cust0_Diff
Sun 14-Mar-2021 02:00  file        Level=Differential Spool Data=1 Accurate=1 Pool=Cust0_Diff
Sun 21-Mar-2021 02:00  file        Level=Differential Spool Data=1 Accurate=1 Pool=Cust0_Diff

Schedules for INCREMENTAL backup:
root@file:~ # echo "status schedules days=365" | bconsole | grep file | grep Incremental
Tue 24-Mar-2020 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Wed 25-Mar-2020 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Thu 26-Mar-2020 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Fri 27-Mar-2020 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Sat 28-Mar-2020 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Mon 30-Mar-2020 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Tue 31-Mar-2020 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Thu 02-Apr-2020 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Fri 03-Apr-2020 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Sat 04-Apr-2020 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Mon 06-Apr-2020 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
[SNIP]
Mon 15-Mar-2021 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Tue 16-Mar-2021 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Wed 17-Mar-2021 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Thu 18-Mar-2021 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Fri 19-Mar-2021 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Sat 20-Mar-2021 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Mon 22-Mar-2021 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr
Tue 23-Mar-2021 02:00  file        Level=Incremental Spool Data=1 Accurate=1 Pool=Cust0_Incr

Regards,
Mikael Bertelsen

Mikael Bertelsen

unread,
Mar 29, 2020, 7:09:50 AM3/29/20
to bareos...@googlegroups.com

On 23/03/2020 20:51, Mikael Bertelsen wrote:
> I've created my backup schedules for a client, but I'm missing an
> entry in the DIFFERENTIAL schedule. Let me explain...
>
> My attempt is to create a schedule where I'm doing
> * a FULL backup every 1st day of the month
> * a DIFFERENTIAL backup every Sunday if it's not the 1st day of the
> month (where I'm doing the FULL backup)
> * an INCREMENTAL backup every day except on the 1st day of the month
> and Sundays (where I'm doing the DIFFERENTIAL backup)
>
> This gives me, as expected, that the 1st of March and the 1st of April
> (and so on) schedules a FULL backup.
> And for the DIFFERENTIAL I'm getting the pattern I expect of every
> Sunday, but I'm not getting the entry for the 29th of March - why is that?
>
Hi again

I figured out what the problem is - or so I believe.

The definition of changing from Wintertime to Summertime is that on the
last Sunday of March at 2am the clock must change to 3am.
Apparently this is handled by Bareos by just ignoring all schedules set
to start between 2am and 3am on the last Sunday in March (this is my
assumption).

The above approach makes sense as you could end up with overlapping jobs
if all jobs scheduled between 2am and 3am are to run at the same time as
the jobs between 3am and 4am (because of the clock change), and as a
worst case scenario end up having all the jobs failing after 2am. But
maybe a warning should have been issued when reloading the
configuration. Or maybe list the schedule(s) as normal with a warning
text suffixed on those schedules that they are being ignored.

I don't know if it's the same problem when changing from Summertime to
Wintertime. The definition of this change is that the last Sunday of
October at 3am the clock is changed back to 2am.
That means, potentially, that all jobs scheduled between 2am and 3am
would be run twice if the situation is not handled by Bareos.
I guess this is a question for the developer list.

I moved the schedule listed in the original question from 2am to 1am,
and now it appears in the schedule list exactly as I intended.

Best regards,
Mikael Bertelsen

Reply all
Reply to author
Forward
0 new messages