问题
在构建 Bareos 的概念验证设置后,我可以添加和更新各种组件,如客户端、设备等。但是在修改 FileSet 时,这些更改不会反映在正在运行的 Bareos 配置中。
细节与研究
PoC 建立在 Bareos 20.0.1 上,安装在 CentOS Linux 8.3 机器上。到目前为止,所有组件、概念和任务都正常工作。我可以成功运行备份和恢复作业。
运行时bconsole
,show filesets
更新的文件集是可见的(因此它是从配置中读取的)。
运行时bconsole
,list filesets
会列出之前的原始文件集。我所做的任何修改(即添加的排除)均未反映在此处。
当为新客户运行作业或重新运行以前的作业时,我看不到日志记录中的文件集有任何差异,并且我的修改也没有影响(由于添加排除项而导致文件数量减少)。
细节:
- 配置文件位置:
/etc/bareos/bareos-dir.d/fileset/XX.conf
- 配置文件所有权:
bareos:bareos
我尝试过的方法
我尝试过几种方法重新加载/重新启动 Bareos,但没有任何区别:
bconsole
,reload
systemctl restart bareos-dir
- 重启服务器
尝试通过 Bareos 和 Bacula 各个版本的官方文档进行学习,但找不到描述此行为的具体部分。
答案1
在测试了不同的情况后,我找到了解决方案/解决方法。我不确定当前的行为是故意的还是有问题,因为我在文档中找不到任何相关信息。而且我没有足够的技能在源代码中验证它。
解决方法
- 修改FileSet配置文件(即filesets/FileSet.conf)
- 至少修改一个
FileSet, Include, File
声明,即使那不是您想要的更改。 - 重新加载 Bareos 导演
- 在下一次相关的 Job 执行时,新的 FileSet 会被添加到 Bareos 数据库中
我现在对排除项(WildDir)进行频繁更新时使用的技巧是添加一个虚拟文件语句,例如:File = "/tmp/dummy-0001"
。并在每次更新时对其进行编号。