最佳做法是什么?
当然,我可以删除配置,但我还希望客户端脱离服务器数据库后端的客户端表。
我应该从数据库中删除吗?(在我的情况下是mysql)(但bacula不应该以某种方式处理这个问题)
dpkg -l | grep bacula
ii bacula-common 5.0.2-2.2+squeeze1 network backup, rec overy and verification - common support files
ii bacula-common-pgsql 5.0.2-2.2+squeeze1 network backup, rec overy and verification - PostgreSQL common files
ii bacula-console 5.0.2-2.2+squeeze1 network backup, rec overy and verification - text console
ii bacula-console-qt 5.0.2-2.2+squeeze1 Bacula Administrati on Tool Console
ii bacula-director-common 5.0.2-2.2+squeeze1 network backup, rec overy and verification - Director common files
ii bacula-director-pgsql 5.0.2-2.2+squeeze1 network backup, rec overy and verification - PostgreSQL storage for Director
ii bacula-fd 5.0.2-2.2+squeeze1 network backup, rec overy and verification - file daemon
ii bacula-sd 5.0.2-2.2+squeeze1 network backup, rec overy and verification - storage daemon
ii bacula-sd-pgsql 5.0.2-2.2+squeeze1 network backup, rec overy and verification - PostgreSQL SD tools
答案1
dbcheck
工具可以删除过时的客户端记录等。运行此工具前请先关闭 Director。
只需使用选项
12) Eliminate orphaned Client records
答案2
我相信步骤简单来说就是bconsole
:
delete client=foo.example.com-fd
您要销毁的文件存储服务器的名称在哪里foo.example.com-fd
。这将负责删除相关作业,但我不确定(目前还不确定)它是否会删除相关文件记录。人们可以希望,如果失败了,然后 dbcheck
可以使用。
请注意dbcheck
速度非常非常慢,只有当您被困在 MySQL 领域时才应该使用它。在 PostgreSQL 中有一个更高效的dbcheck.sql
脚本,可以直接在 SQL 控制台中运行,并且会将更改保留在事务中,以便您在提交之前查看更改。非常了不起的东西,但dbcheck
根据上游文档,在正常的 Bacula 操作中不应该需要它。引用该手册:
顺便说一句,我个人只在由于开发 Bacula 代码时出现错误而弄乱了数据库时才运行 dbcheck,因此通常情况下尽管有上述建议,您也不需要运行 dbcheck,这些建议是为了让用户不要浪费时间过于频繁地运行 dbcheck。
所以实际上,您只需要delete
销毁旧客户端的命令,至少理论上是这样。