Ansible - คำสั่ง Ad hoc

คำสั่ง Ad hoc คือคำสั่งที่สามารถเรียกใช้ทีละคำสั่งเพื่อทำหน้าที่อย่างรวดเร็ว คำสั่งเหล่านี้ไม่จำเป็นต้องดำเนินการในภายหลัง

ตัวอย่างเช่นคุณต้องรีบูตเซิร์ฟเวอร์ของ บริษัท ทั้งหมด สำหรับสิ่งนี้คุณจะเรียกใช้คำสั่ง Adhoc จาก '/usr/bin/ansible'.

คำสั่งเฉพาะกิจเหล่านี้ไม่ได้ใช้สำหรับการจัดการคอนฟิกูเรชันและการปรับใช้เนื่องจากคำสั่งเหล่านี้ใช้ครั้งเดียว

ansible-playbook ใช้สำหรับการจัดการการกำหนดค่าและการปรับใช้

คำสั่ง Parallelism และ Shell

รีบูตเซิร์ฟเวอร์ บริษัท ของคุณโดยใช้ส้อมแบบขนาน 12 ครั้ง สำหรับสิ่งนี้เราจำเป็นต้องตั้งค่า SSHagent สำหรับการเชื่อมต่อ

$ ssh-agent bash 
$ ssh-add ~/.ssh/id_rsa

ในการเรียกใช้การรีบูตสำหรับเซิร์ฟเวอร์ของ บริษัท ทั้งหมดในกลุ่ม 'abc' ใน 12 ส้อมคู่ขนาน -

$ Ansible abc -a "/sbin/reboot" -f 12

ตามค่าเริ่มต้น Ansible จะเรียกใช้คำสั่ง Ad-hoc ข้างต้นจากบัญชีผู้ใช้ปัจจุบัน หากคุณต้องการเปลี่ยนพฤติกรรมนี้คุณจะต้องส่งชื่อผู้ใช้ในคำสั่ง Ad-hoc ดังนี้ -

$ Ansible abc -a "/sbin/reboot" -f 12 -u username

การถ่ายโอนไฟล์

คุณสามารถใช้คำสั่ง Ad-hoc ในการทำ SCP (Secure Copy Protocol) ไฟล์จำนวนมากพร้อมกันบนเครื่องหลายเครื่อง

การถ่ายโอนไฟล์ไปยังเซิร์ฟเวอร์ / เครื่องจำนวนมาก

$ Ansible abc -m copy -a "src = /etc/yum.conf dest = /tmp/yum.conf"

การสร้างไดเร็กทอรีใหม่

$ Ansible abc -m file -a "dest = /path/user1/new mode = 777 owner = user1 group = user1 state = directory"

การลบไดเร็กทอรีและไฟล์ทั้งหมด

$ Ansible abc -m file -a "dest = /path/user1/new state = absent"

การจัดการแพ็คเกจ

คำสั่ง Ad-hoc มีให้สำหรับยำและถนัด ต่อไปนี้เป็นคำสั่ง Ad-hoc โดยใช้ yum

คำสั่งต่อไปนี้ตรวจสอบว่า yum package ติดตั้งอยู่หรือไม่ แต่ไม่ได้ทำการอัพเดต

$ Ansible abc -m yum -a "name = demo-tomcat-1 state = present"

คำสั่งต่อไปนี้ตรวจสอบไม่ได้ติดตั้งแพ็คเกจ

$ Ansible abc -m yum -a "name = demo-tomcat-1 state = absent"

คำสั่งต่อไปนี้ตรวจสอบว่ามีการติดตั้งแพ็กเกจเวอร์ชันล่าสุด

$ Ansible abc -m yum -a "name = demo-tomcat-1 state = latest"

การรวบรวมข้อเท็จจริง

สามารถใช้ข้อเท็จจริงสำหรับการใช้คำสั่งเงื่อนไขใน Playbook คุณสามารถค้นหาข้อมูล adhoc ของข้อเท็จจริงทั้งหมดของคุณผ่านคำสั่ง Ad-hoc ต่อไปนี้ -

$ Ansible all -m setup