Answers:
好吧,在我所有节点都包含的类中,我得到了:
filebucket { puppet: server => "puppet.example.edu" }
文件类型的默认设置是备份到名为“ puppet”的本地文件桶。通过将“ puppet”文件桶更改为服务器文件桶,默认情况下将获得基于服务器的文件桶。
或者,如果要保留覆盖一个特定文件以使用本地文件桶的选项,则可以执行以下操作:
filebucket { main: server => "puppet.example.edu"; }
File { backup => main }
有关选项的更多详细信息,请参见http://docs.puppetlabs.com/references/latest/type.html#filebucket。
这样就完成了第1项,因为它告诉节点所有节点都对文件桶使用同一台单个服务器。项#3是免费提供的,因为它仍然通过具有SSL证书验证的基于SSL的连接进行。
Filebucket在恢复的情况下最有用,恢复很可能是同一天。在这种情况下,请查看报告,然后使用“ filebucket
”或“ puppet filebucket
”命令根据报告中的md5sum检索原始内容。
项目#2是棘手的地方...
我用这样的脚本修剪它:
find /var/lib/puppet/clientbucket/ -type f -mtime +45 -atime +45 -delete
这样可以删除所有超过45天并且在此之前完全没有访问过的内容。这45天是根据我们的备份和备份保留政策制定的,因为它足够长,可以进行具有长期保留的备份,并且理论上可以为我们提供18个月的恢复时间。
您正在寻找什么样的解析?服务器上的存储桶设置是由md5sum组织的层次结构,并且在与md5sum匹配的目录名称中,有“路径”来告诉您哪个文件,“内容”是实际文件。您需要查看报告以查看其来自哪个系统。
我不做任何审计。您正在寻找哪种审计?那可能意味着很多事情。
一种建议是将文件添加到版本控制服务器(svn,git)。我将与特定模块相关的所有文件存储在/ files下的modules目录中。修改文件后,将其签入SVN并通过挂钩将其推送到主文件。
例如,我有一个模块管理后缀,并将/ etc / postfix / virtual文件推送到客户端。该文件存储在/ etc / puppet / modules / postfix / files下。
这给您带来的好处是可以重复使用在模块中创建的代码以及按模块组织文件。