如何使用Puppet复制包含文件的目录
我期待着复制一个目录及其文件使用木偶。 该目录以及大多数文件/子目录在复制时都已存在 副本正在处理新文件并删除源中不存在的文件,但现有文件不会更新 例如,如果文件不存在,如何使用Puppet复制包含文件的目录,puppet,Puppet,我期待着复制一个目录及其文件使用木偶。 该目录以及大多数文件/子目录在复制时都已存在 副本正在处理新文件并删除源中不存在的文件,但现有文件不会更新 例如,如果文件不存在,dir/index.html将被创建,但即使源文件包含文件的更新版本,也不会被更新 正在寻求有关如何告诉puppet复制/覆盖目录中所有文件的帮助。我不确定我是否应该使用类似于force的方法来实现这一点 file { "${directory}": ensure => dir
dir/index.html
将被创建,但即使源文件包含文件的更新版本,也不会被更新
正在寻求有关如何告诉puppet复制/覆盖目录中所有文件的帮助。我不确定我是否应该使用类似于force
的方法来实现这一点
file { "${directory}":
ensure => directory,
owner => $user,
group => "$user",
mode => '0755',
recurse => true,
source => "puppet:///modules/role/${directory}",
} ->
提前感谢根据,您的配置是正确的,应该替换与源不匹配的文件。通过将recurse
设置为true
来配置此行为
我注意到force
选项只适用于目录。它是应用于文件的replace
属性。如果文件没有被替换,是否有可能将清单中某个位置的文件资源的默认属性设置为replace=>false
?默认设置如下所示
File {
replace => false,
}
正如John在评论中提到的,您可以通过在文件资源中显式设置replace
来覆盖默认值:
file { $directory:
ensure => directory,
owner => $user,
group => $user,
mode => '0755',
recurse => true,
replace => true,
source => "puppet:///modules/role/${directory}",
}
... OP可以通过在其
文件
资源中显式指定replace=>true
来覆盖这样的资源默认值。这是正确答案,应该注意。