【问题标题】:How to copy list of files using puppet如何使用 puppet 复制文件列表
【发布时间】:2021-09-29 17:24:45
【问题描述】:

在 puppet 中是否可以复制文件列表

尝试了下面的代码,但没有成功

$list_files = ['file1','file2','file2']

file { $list_files:
   ensure => present,
   path   => /tmp,
   source => 'puppet:///modules/$module_name/list_file_dir/$list_files',
}

有什么建议吗?

【问题讨论】:

  • @MattSchuchard, data.each |$item| { 文件 { /tmp/$item: 确保。 => 现在,来源 => 'puppet:///modules/test_module/$item' }
  • 你的数组被命名为list_files,你需要" 来插入一个字符串而不是',否则是的:这样就可以了。

标签: puppet


【解决方案1】:

正如其他人所说,您可以使用 each 开关,例如

['file1','file2','file2'].each |$flie| {
  file{ "/tmp/${file}":
    ensure => file,
    source => "puppet:///modules/$module_name/list_file_dir/${file}",
  }
}

然而,同样值得注意的是,您可以将目录传递给目标和源参数,例如如果您的 puppet master 上有目录 puppet:///modules/$module_name/list_file_dir 和文件 ['file1','file2','file2'],那么您可以使用以下命令将它们全部复制到 temp

file { '/tmp':
  ensure => directory,
  source => 'puppet:///modules/$module_name/list_file_dir',
  recurse => remote,
}

使用recurse => remote remote 确保 puppet 仅管理远程位置(即 puppetmaster)中存在的文件

https://puppet.com/docs/puppet/7/types/file.html#file-attribute-recurse

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-12
    • 2013-07-08
    • 1970-01-01
    • 2020-03-04
    • 2015-01-13
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    相关资源
    最近更新 更多