如何使用with递归地镜像目录及其内容?


14

假设我有一个模块files/etc/foo/{conf0, conf1, conf2, conf3, etc}。当文件数量很少时,放置每个文件非常简单:

file { 'conf0':
    path => '/etc/foo/conf0',
    ensure => true,
    source => 'puppet:///.../etc/foo/conf0',
}

并重复。但是涉及到很多重复,如果有多个配置文件,要进行维护很繁琐。我想确保将files/etc/foo/其镜像到给定的路径。也就是说,

file { 'etc foo confs':
   path => '/etc/foo',
   ensure => recursive,
   source => 'puppet:///.../etc/foo',
}

将创建/etc/foo/conf0/etc/foo/conf1依此类推。这可能吗?

Answers:


22

当然- files类型有一个recurse选项(recurselimit如果您想限制它进入目录的深度)。

file { 'etc foo confs':
   path => '/etc/foo',
   source => 'puppet:///.../etc/foo',
   recurse => true,
}

5
如果要这样做,要记住的另一件事是Puppet必须维护其连接的文件数。用完文件描述符并不会花很长时间,而且木偶开始遇到麻烦。在尝试执行此任务之前,我已经遇到了这个问题。
Jeremy Bouse 2011年

@JeremyBouse谢谢;这是非常有用的信息。
troutwine 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.