Score:0

ตัวแปรการลงทะเบียน ansible ส่งออกตัวแปรที่ไม่ได้กำหนด

ธง bo

ฉันกำลังพยายามทำ playbook นี้เป็นเวลาครึ่งวัน ฉันใช้โมดูล stat เพื่อตรวจสอบ sha1sum ของไฟล์และหากไม่เท่ากับไฟล์ที่สองก็ควรแทนที่ไฟล์ที่ถูกต้อง แต่ในขณะที่ลงทะเบียนตัวแปรบางตัว เอาต์พุตแจ้งว่าตัวแปรไม่ได้ถูกกำหนด ผมทำอะไรผิดหรือเปล่า ?

---
- โฮสต์: ทั้งหมด
  remote_user: รูท
  งาน:
    - ชื่อ: รับผลรวมของไฟล์
      สถานะ:
        เส้นทาง: /home/roundcube/config.php
        checksum_algorithm: sha1
        get_checksum: ใช่
      ลงทะเบียน: ผลรวม      
      
      สถานะ:
        เส้นทาง: /home/archive/config.php
        checksum_algorithm: sha1
        get_checksum: ใช่
      ลงทะเบียน: sum2
      
    - ชื่อ: ผล
      ansible.buildin.copy:
        src: /home/archive/config.php
        ปลายทาง: /home/roundcube/config.php
      เมื่อ: sum.stat.checksum != sum2.stat.checksum
br flag
งาน *stat* สองงานนั้นซ้ำซ้อน โมดูล [*copy*](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/copy_module.html#ansible-builtin-copy-copy-files-to-remote-locations) เปรียบเทียบ *checksum* ของ *src* และ *dest* ตามค่าเริ่มต้น การอ้างอิงจาก [*checksum*](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/copy_module.html#parameter-checksum): ``'... หากไม่ได้ระบุไว้ ให้ ansible จะใช้เช็คซัมที่คำนวณในเครื่องของไฟล์ src'``
Score:1
ธง in

คุณไม่มียัติภังค์ที่กำหนดสถานะที่สองเป็นงาน

---
- โฮสต์: ทั้งหมด
  remote_user: รูท
  งาน:
    - ชื่อ: รับผลรวมของไฟล์
      สถานะ:
        เส้นทาง: /home/roundcube/config.php
        checksum_algorithm: sha1
        get_checksum: ใช่
      ลงทะเบียน: ผลรวม      
      
    - สถิติ:
        เส้นทาง: /home/archive/config.php
        checksum_algorithm: sha1
        get_checksum: ใช่
      ลงทะเบียน: sum2
      
    - ชื่อ: ผล
      ansible.buildin.copy:
        src: /home/archive/config.php
        ปลายทาง: /home/roundcube/config.php
        remote_src: ใช่
      เมื่อ: sum.stat.checksum != sum2.stat.checksum

โปรดทราบว่าคุณยังขาด remote_src: ใช่ พารามิเตอร์ในงานคัดลอก ถ้าไม่มี Ansible จะถือว่าไฟล์นั้นอยู่ในเครื่องของคุณ ไม่ใช่รีโมตโฮสต์

Zeitounator avatar
fr flag
โปรดทราบว่าการตรวจสอบทั้งหมดนั้นไร้ประโยชน์โดยสิ้นเชิง เนื่องจาก ansible จะคัดลอกไฟล์ก็ต่อเมื่อต้นทาง (ในเครื่องหรือระยะไกล) และปลายทางแตกต่างกันจริง ๆ มิฉะนั้นก็จะแจ้งว่า 'ตกลง'
DeviC3 avatar
bo flag
ขอบคุณเจอรัลด์ คุณทำให้วันของฉันตอนนี้ทำงานได้ดี มันง่ายมาก
in flag
เยี่ยมมาก แต่ฟังคำแนะนำของ Zeitounator และ Vladimir การตรวจสอบเหล่านี้ไม่จำเป็น Ansible จะทำการตรวจสอบแบบเดียวกันอีกครั้งในงาน "คัดลอก"

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา