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