Bacula 认为每个卷都已过期

Bacula 认为每个卷都已过期

我在 Ubuntu Server 16.04 上安装了 Bacula Backup,备份工作正常。但我在自动创建卷方面遇到了问题:

我将池配置为“卷使用持续时间 = 23 小时”,以便每小时备份一次。问题是 Bacula 每小时创建一个新卷,而不是使用一天。

这是我的池定义:

Pool {
  Name = HourlyPool
  Pool Type = Backup
  Volume Retention = 14 days
  Volume Use Duration = 23h
  Recycle = yes
  AutoPrune = yes
  LabelFormat = "HourVol-"
}

工作定义:

Job {
  Name = HourlyBackup
  Type = Backup
  Level = Incremental
  Client = LinuxWebServer-fd
  FileSet = Hourly
  Schedule = HourByHour
  Storage = HourlyFile
  Pool = HourlyPool
  Messages = Standard
}

每小时备份一次,在日志中我看到以下几行:

27-Mar 17:00 LinuxWebServer-dir JobId 706: Start Backup JobId 706, Job=HourlyBackup.2017-03-27_17.00.00_24
27-Mar 17:00 LinuxWebServer-dir JobId 706: Created new Volume="HourVol-0006", Pool="HourlyPool", MediaType="HourFile" in catalog.
27-Mar 17:00 LinuxWebServer-dir JobId 706: Using Device "VarBaculaHourly" to write.
27-Mar 17:00 LinuxWebServer-sd JobId 706: Labeled new Volume "HourVol-0006" on file device "VarBaculaHourly" (/var/baculahourly).
27-Mar 17:00 LinuxWebServer-sd JobId 706: Wrote label to prelabeled Volume "HourVol-0006" on file device "VarBaculaHourly" (/var/baculahourly)
27-Mar 17:00 LinuxWebServer-dir JobId 706: Max configured use duration=82,800 sec. exceeded. Marking Volume "HourVol-0006" as Used.

如果我查看导演状态,我会看到:

Job name        Level          Type     Run at            Volume
HourlyBackup    Incremental    Backup   27-Mar-17 18:00   *unknown*

它用于显示要使用的卷的名称,而不是*未知*。

有人知道这里发生了什么事吗?

谢谢

答案1

我发现了问题所在,并找到了一个解决方案,虽然不是理想的解决方案,但可以防止问题的发生:

查看 Bacula 的数据库时,我意识到由于某种原因,它没有更新表中的“FirstWritten”和“InitialWrite”字段,而仅保留了 2008 年某个时间的默认值,导致每个卷从创建之日起就过期。

作为一个解决方案,我通过将默认值更改为“CURRENT_TIMESTAMP”来更改表的结构。这个解决方案并不“优雅”,但它解决了这个问题。

相关内容