ฉันจะทำมิเรอร์ไดเร็กทอรีซ้ำและเนื้อหาในไดเร็กตอรี่ด้วย puppet ได้อย่างไร?


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และอื่น ๆ เป็นไปได้ไหม

คำตอบ:


22

แน่นอนว่า - filesประเภทนั้นมีrecurseตัวเลือก (และrecurselimitถ้าคุณต้องการ จำกัด ขนาดของไดเรกทอรีให้ลึกลงไป)

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

5
สิ่งอื่นที่ต้องคำนึงถึงหากทำเช่นนี้คือจำนวนไฟล์ที่ Puppet จะต้องรักษาการเชื่อมต่อไว้ ไม่นานนักที่ไฟล์ descriptor และหุ่นเชิดจะเริ่มมีปัญหา ฉันพบปัญหานี้ก่อนที่จะพยายามทำสิ่งนี้
Jeremy Bouse

@ JeremyBouse ขอบคุณ; นั่นเป็นข้อมูลที่มีประโยชน์มาก
troutwine
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.