使用 puppet,我意识到我可以递归复制文件夹并以递归方式设置单个文件的权限。但我有一个源文件夹,其中包含(许多)文件,每个文件都具有精心配置的权限。我如何执行 puppet 等效操作:
cp -a $source $dest
?
这:
file { '/some/dest':
ensure => directory,
source => "/some/src",
recurse => true,
}
做不是保存模式。
还,最佳实践:递归文件资源说只使用递归文件:
当需要管理的递归文件总数较少(例如 10 个或更少)时
好的,为了论证的目的,我们假设/some/src
有 1000 个具有复杂模式的文件。
根据该链接,我的其他选择是
- recursive_file_permissions 定义类型这里我只能把所有文件设置为相同的权限,而不能设置它们具有与源相同的权限==对我们来说不起作用。
- puppet/archive 模块
- 为文件构建一个包,并使用包资源来管理它。
最后两种方法似乎都需要做大量的工作才能实现cp -a $source $dest
。除非 puppet 有用于创建存档或 debian 包的原语$source
- 我认为没有...
那么:真的不能cp -a $source $dest
使用puppet吗?
答案1
有一个source_permissions
属性控制在未明确设置模式的情况下复制文件时发生的情况,该模式可能会执行您想要的操作。您应该将其设置为use
或use_when_creating
。