เพื่อให้บรรลุเป้าหมายใน Ansible โดยทั่วไปแนะนำให้ใช้โมดูลบริการ บริการ
, ซิสวินิท
หรือ ระบบ
. ในตัวอย่างเช่น
---
- โฮสต์: localhost
กลายเป็น: ใช่
makes_method: sudo
Gather_facts: ใช่
งาน:
- ชื่อ: การรวบรวมข้อมูลการบริการ
บริการ_ข้อเท็จจริง:
- ชื่อ: ตรวจสอบให้แน่ใจว่าหยุดให้บริการแล้ว
ระบบ:
ชื่อ: httpd
สถานะ: หยุด
เปิดใช้งาน: ไม่
เมื่อ: ("httpd.service" ในบริการ)
หากคุณต้องการใช้ เปลือก
_module สำหรับฉันจำเป็นต้องทำงานมากกว่านี้
ในตัวอย่างสำหรับ จิงซ์
รับ PID ที่ถูกต้องก่อน เนื่องจากมีกระบวนการหลักและสี่กระบวนการของผู้ปฏิบัติงาน
- ชื่อ: รับ nginx PID
เปลือก:
cmd: "ps -C nginx -o pid --no-headers | หัว 1"
เตือน: เท็จ
เปลี่ยนแปลง_เมื่อ: เท็จ
check_mode: เท็จ
ลงทะเบียน: nginx_pid
นอกจากนี้ยังเป็นไปได้ที่จะทำสิ่งที่ต้องการ
- ชื่อ: รับ nginx PID
เปลือก:
cmd: "pidof nginx"
เตือน: เท็จ
เปลี่ยนแปลง_เมื่อ: เท็จ
check_mode: เท็จ
ลงทะเบียน: nginx_pids
- ชื่อ: แสดง PID
แก้ปัญหา:
var: nginx_pids
- ชื่อ: ฆ่า nginx
เปลือก:
cmd: "ฆ่า -9 {{ nginx_pids }}"
...
เกี่ยวกับ
ฉันต้องการเพิ่มตัวเลือกออกจากการรัน ansible-playbook หากไม่สำเร็จ
ถึง สิ้นสุดการรัน playbook คุณสามารถใช้
- เมตา: end_play
เมื่อ: condition_is_met
ใช้ ล้มเหลว
_โมดูลถึง
- ชื่อ: งานล้มเหลวเนื่องจาก
ล้มเหลว:
msg: "{{ ข้อความล้มเหลว }}"
เมื่อ: condition_is_met
หรือ ยืนยัน
_โมดูล.
เกี่ยวกับรหัสออก (EC) หรือรหัสส่งคืน (RC) คุณอาจต้องตรวจสอบ ฉันจะรับรายการรหัสออก (และ/หรือรหัสส่งคืน) และความหมายสำหรับคำสั่ง/ยูทิลิตี้ได้อย่างไร.