Bareos(Bacula)FileSet 在更改/重新加载/重启时未更新

Bareos(Bacula)FileSet 在更改/重新加载/重启时未更新

问题

在构建 Bareos 的概念验证设置后,我可以添加和更新各种组件,如客户端、设备等。但是在修改 FileSet 时,这些更改不会反映在正在运行的 Bareos 配置中。

细节与研究

PoC 建立在 Bareos 20.0.1 上,安装在 CentOS Linux 8.3 机器上。到目前为止,所有组件、概念和任务都正常工作。我可以成功运行备份和恢复作业。

运行时bconsoleshow filesets更新的文件集是可见的(因此它是从配置中读取的)。

运行时bconsolelist filesets会列出之前的原始文件集。我所做的任何修改(即添加的排除)均未反映在此处。

当为新客户运行作业或重新运行以前的作业时,我看不到日志记录中的文件集有任何差异,并且我的修改也没有影响(由于添加排除项而导致文件数量减少)。

细节:

  • 配置文件位置:/etc/bareos/bareos-dir.d/fileset/XX.conf
  • 配置文件所有权:bareos:bareos

我尝试过的方法

我尝试过几种方法重新加载/重新启动 Bareos,但没有任何区别:

  • bconsolereload
  • systemctl restart bareos-dir
  • 重启服务器

尝试通过 Bareos 和 Bacula 各个版本的官方文档进行学习,但找不到描述此行为的具体部分。

答案1

在测试了不同的情况后,我找到了解决方案/解决方法。我不确定当前的行为是故意的还是有问题,因为我在文档中找不到任何相关信息。而且我没有足够的技能在源代码中验证它。

解决方法

  1. 修改FileSet配置文件(即filesets/FileSet.conf)
  2. 至少修改一个FileSet, Include, File声明,即使那不是您想要的更改。
  3. 重新加载 Bareos 导演
  4. 在下一次相关的 Job 执行时,新的 FileSet 会被添加到 Bareos 数据库中

我现在对排除项(WildDir)进行频繁更新时使用的技巧是添加一个虚拟文件语句,例如:File = "/tmp/dummy-0001"。并在每次更新时对其进行编号。

相关内容