gpt4 book ai didi

vagrant - Puppet - 如何将目录的内容移动到另一个现有目录?

转载 作者:行者123 更新时间:2023-12-02 01:20:46 26 4
gpt4 key购买 nike

我有一个充满.data 文件和.config/.config.example 文件的目录。我需要使用 puppet 将所有 .data 文件移动到我系统上的另一个现有目录。我认为我目前拥有的 puppet 代码不正确 - 我做错了什么?

file { 'Owasp .data files':
ensure => directory,
path => '/etc/nginx/',
source => '/usr/src/SpiderLabs-owasp-modsecurity-crs-0475e92/',
recurse => true,
ignore => ['*.conf', '*.conf.example'],
}

我希望这会将除 .conf.conf.example 文件之外的所有内容复制到 /etc/nginx。但是,我收到以下错误:

box: Error: Cannot alias File[Owasp .data files] to ["/etc/nginx"] at /vagrant/modules/nginx_test/manifests/test.pp:112; resource ["File", "/etc/nginx"] already declared at /usr/share/puppet/modules/nginx/manifests/config.pp:193

最佳答案

所以您的问题实际上是您在目录的其他地方声明了一个 file { '/etc/nginx': } 。您只需为每个目录声明一次该资源。这将解决您的错误。您也不能声明两个具有不同标题的文件资源,它们都具有相同的 path 参数,因为 Puppet 测试该参数的资源唯一性。

不过,关于您的具体问题,您可以在 source 参数中使用文件 URI:https://docs.puppet.com/puppet/latest/reference/type.html#file-attribute-source

所以对于你的情况,你会这样做:

file { 'Owasp .data files':
ensure => directory,
path => '/etc/nginx/',
source => 'file:///usr/src/SpiderLabs-owasp-modsecurity-crs-0475e92/',
recurse => true,
ignore => ['*.conf', '*.conf.example'],
}

关于vagrant - Puppet - 如何将目录的内容移动到另一个现有目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40358702/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com