微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Puppet 复制包含文件的目录

如何解决如何使用 Puppet 复制包含文件的目录

我正在寻找使用 Puppet 复制其文件的目录。 该目录以及大多数文件/子目录在复制时已经存在。

该副本适用于新文件删除不在源文件中的文件,但现有文件没有被更新。

例如,如果 dir/index.html 不存在,则会创建它,但即使源包含文件的更新版本也不会更新。

寻求有关如何告诉 puppet 复制/覆盖目录中所有文件的帮助。不确定我是否应该使用 force 之类的东西来实现这一点。

    file { "${directory}":
        ensure  => directory,owner   => $user,group   => "$user",mode    => '0755',recurse => true,source  => "puppet:///modules/role/${directory}",} ->

提前致谢

解决方法

根据documentation for the file resource,您的配置是正确的,应该替换与源不匹配的文件。此行为是通过将 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}",}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。