Làm thế nào để tôi đệ quy phản chiếu một thư mục và nội dung của nó với con rối?


14

Hãy nói rằng tôi có một mô-đun với files/etc/foo/{conf0, conf1, conf2, conf3, etc}. Nó đủ đơn giản để đặt từng tệp này khi số lượng tệp nhỏ:

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

và lặp lại. Nhưng có một chút trùng lặp liên quan và thật khó để duy trì nếu có một vài tệp cấu hình. Tôi muốn đảm bảo rằng nó files/etc/foo/được nhân đôi trên một con đường nhất định. Điều đó có nghĩa là,

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

sẽ tạo ra /etc/foo/conf0, /etc/foo/conf1và như vậy. Điều này có thể không?

Câu trả lời:


22

Chắc chắn - filesloại có một recursetùy chọn (và recurselimitnếu bạn muốn giới hạn mức độ sâu vào thư mục nó đi).

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

5
Một điều khác cần ghi nhớ nếu làm điều này là số lượng tệp mà Puppet sẽ phải duy trì kết nối. Sẽ không mất nhiều thời gian để hết các mô tả tập tin và con rối bắt đầu gặp rắc rối. Tôi đã gặp vấn đề này trước khi cố gắng thực hiện nhiệm vụ này.
Jeremy Bouse

@JeremyBouse Cảm ơn bạn; Đó là thông tin rất hữu ích.
cá hồi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.