คู่มือคำสั่ง Ad-hoc พร้อมตัวอย่าง

คำสั่ง Ad-hoc ถูกใช้ใน Ansible เพื่อดำเนินการงานทันทีและคุณไม่จำเป็นต้องบันทึกไว้เพื่อใช้ในภายหลัง บทความนี้เป็นข้อมูลเกี่ยวกับคำสั่ง Ad-hoc ของ Ansible.


มีหลายภารกิจใน Ansible ที่คุณไม่จำเป็นต้องเขียน Playbook Ansible แยกต่างหากสำหรับมัน คุณสามารถรันคำสั่ง ad-hoc สำหรับงานนั้นได้ เหล่านี้เป็นคำสั่งหนึ่งซับเพื่อดำเนินการงานเดียวบนโฮสต์เป้าหมาย คำสั่งเหล่านี้มีอยู่ใน / usr / bin / ansible

งานเช่นการส่ง Ping โฮสต์ทั้งหมดเพื่อตรวจสอบว่าพวกเขากำลังทำงานอยู่คัดลอกไฟล์รีบูตเซิร์ฟเวอร์ติดตั้งแพคเกจสามารถทำได้อย่างง่ายดายผ่านคำสั่ง Ad-hoc Ansible นี่คือรายการของคำสั่ง Ad-hoc พื้นฐาน Ansible ที่คุณต้องรู้.

คำสั่งพื้นฐาน

คำสั่ง ad-hoc ด้านล่างจะรันโมดูล ping บนโฮสต์ทั้งหมดในไฟล์คลังข้อมูล ที่นี่ -m เป็นตัวเลือกสำหรับโมดูล.

[email protected]: / home / geekflare # ansible pm ทั้งหมด -m
โหนด 1 | ความสำเร็จ => {
"ansible_facts": {
"discovered_interpreter_python": "/ usr / bin / หลาม"
},
"การเปลี่ยนแปลง": false,
"ปิง": "สาบ"
}

คำสั่งที่กล่าวถึงด้านล่างนี้เรียกใช้โมดูลการตั้งค่าในกลุ่มโฮสต์ – ไคลเอนต์มีอยู่ในไฟล์สินค้าคงคลัง ‘/ etc / ansible / hosts’.

[email protected]: / home / geekflare # ansible Client -m setup "กรอง = ansible_distribution *"
โหนด 1 | ความสำเร็จ => {
"ansible_facts": {
"ansible_distribution": "อูบุนตู",
"ansible_distribution_file_parsed": จริง,
"ansible_distribution_file_path": "/ etc / OS ปล่อย",
"ansible_distribution_file_variety": "Debian",
"ansible_distribution_major_version": "18",
"ansible_distribution_release": "เกี่ยวกับจักรวาล",
"ansible_distribution_version": "18.10",
"discovered_interpreter_python": "/ usr / bin / หลาม"
},
"การเปลี่ยนแปลง": false
}

คำสั่งด้านล่างนี้ใช้เพื่อแจ้งการตรวจสอบรหัสผ่าน SSH คุณต้องเพิ่มตัวเลือก –ask-pass เมื่อสิ้นสุดคำสั่ง หลังจากรันคำสั่งมันจะขอให้คุณป้อนรหัสผ่าน SSH.

[email protected]: / home / geekflare # ansible ไคลเอนต์ -m ping –ask-pass
รหัสผ่าน SSH:
โหนด 1 | ความสำเร็จ => {
"ansible_facts": {
"discovered_interpreter_python": "/ usr / bin / หลาม"
},
"การเปลี่ยนแปลง": false,
"ปิง": "สาบ"
}

คำสั่งด้านล่างให้คุณสมบัติการเรียกใช้คำสั่ง ad-hoc ในฐานะผู้ใช้ที่ไม่ใช่รูทที่มีสิทธิ์ใช้งานรูท ตัวเลือก –become ให้สิทธิ์รูทและตัวเลือก -K จะถามรหัสผ่าน.

[email protected]: / home / geekflare # ansible ไคลเอนต์ -m เชลล์ -a ‘fdisk -l’ -u geekflare – เบ็คโฮม -K
กลายเป็นรหัสผ่าน:
โหนด 1 | เปลี่ยน | RC = 0 >>
ดิสก์ / dev / loop0: 14.5 MiB, 15208448 ไบต์, 29704 ภาค
หน่วย: ส่วนของ 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I / O (ต่ำสุด / เหมาะสมที่สุด): 512 ไบต์ / 512 ไบต์

ดิสก์ / dev / loop2: 42.1 MiB, 44183552 ไบต์, 86296 ภาค
หน่วย: ส่วนของ 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I / O (ต่ำสุด / เหมาะสมที่สุด): 512 ไบต์ / 512 ไบต์

ดิสก์ / dev / loop3: 149.9 MiB, 157184000 bytes, 307000 ภาค
หน่วย: ส่วนของ 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I / O (ต่ำสุด / เหมาะสมที่สุด): 512 ไบต์ / 512 ไบต์

ดิสก์ / dev / loop5: 140.7 MiB, 147501056 bytes, 288088 ส่วน
หน่วย: ส่วนของ 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I / O (ต่ำสุด / เหมาะสมที่สุด): 512 ไบต์ / 512 ไบต์

ดิสก์ / dev / loop6: 151.2 MiB, 158584832 ไบต์, 309736 เซกเตอร์
หน่วย: ส่วนของ 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I / O (ต่ำสุด / เหมาะสมที่สุด): 512 ไบต์ / 512 ไบต์

ดิสก์ / dev / loop7: 14.8 MiB, 15458304 bytes, 30192 เซ็กเตอร์
หน่วย: ส่วนของ 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I / O (ต่ำสุด / เหมาะสมที่สุด): 512 ไบต์ / 512 ไบต์

ดิสก์ / dev / sda: 500 GiB, 536870912000 ไบต์, 1048576000 ภาค
หน่วย: ส่วนของ 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I / O (ต่ำสุด / เหมาะสมที่สุด): 512 ไบต์ / 512 ไบต์
ประเภท Disklabel: dos
ตัวระบุดิสก์: 0xcef957f5

การเริ่มต้นการบูตอุปกรณ์ประเภทขนาดรหัสภาคส่วนท้าย
/ dev / sda1 2048 462639103 462637056 220.6G 83 Linux
/ dev / sda2 * 462639104 464592895 1953792 954M 83 Linux
/ dev / sda3 464592896 482168831 17575936 8.4G 82 Linux swap / Solaris
/ dev / sda4 482168832 1048573951 566405120 270.1G 83 Linux

ดิสก์ / dev / loop8: 4 MiB, 4218880 ไบต์, 8240 ภาค
หน่วย: ส่วนของ 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I / O (ต่ำสุด / เหมาะสมที่สุด): 512 ไบต์ / 512 ไบต์

คำสั่ง ad-hoc นี้ใช้เพื่อรีบูตระบบด้วยตัวเลือก -f สำหรับการกำหนดจำนวนของส้อม.

[email protected]: / home / geekflare # ansible Client -a "/ sbin / รีบูต" -f 1

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

คำสั่ง ad-hoc ที่เข้าใจได้ด้านล่างนี้ใช้เพื่อคัดลอกไฟล์จากแหล่งไปยังปลายทางสำหรับกลุ่มโฮสต์ (ไคลเอนต์) ที่กำหนดไว้ในไฟล์สินค้าคงคลัง หลังจากคุณป้อนรหัสผ่านแล้วเอาต์พุตที่มีพารามิเตอร์“ change” จะเป็น“ true” ซึ่งหมายความว่าไฟล์ถูกคัดลอกไปยังปลายทาง.

[email protected]: / home / geekflare # ansible ไคลเอนต์ -m copy -a ‘src = / home / geekflare / nginx.yml ปลายทาง = / home / geekflare / เดสก์ท็อป / เจ้าของ = โหมด root = 0644’ -u root –become -K
กลายเป็นรหัสผ่าน:
โหนด 1 | เปลี่ยน => {
"ansible_facts": {
"discovered_interpreter_python": "/ usr / bin / หลาม"
},
"การเปลี่ยนแปลง": จริง,
"การตรวจสอบ": "5631822866afd5f19b928edb3ba018385df22dd3",
"ปลายทาง": "/home/geekflare/Desktop/nginx.yml",
"GID": 0,
"กลุ่ม": "ราก",
"md5sum": "0d6ffe1069fc25ad4f8ad700277c4634",
"โหมด": "0644",
"เจ้าของ": "ราก",
"ขนาด": 280,
"src": "/root/.ansible/tmp/ansible-tmp-1562253463.3-214622150088155/source",
"สถานะ": "ไฟล์",
"UID": 0
}

เรียกใช้คำสั่งด้านล่างเพื่อตรวจสอบว่าโมดูลคัดลอกทำงานอย่างถูกต้องหรือไม่ ไฟล์ที่คัดลอกควรมาที่ปลายทางที่กล่าวถึงในคำสั่งก่อนหน้า.

[email protected]: / home / geekflare # ls เดสก์ท็อป /

nginx.yml

ฉันกำลังสร้างไดเรกทอรีใหม่เพื่อเรียกใช้โมดูล n คำสั่ง ad-hoc ต่อไป.

[email protected]: / home / geekflare # mkdir ตัวอย่าง

[email protected]: / home / geekflare # ls

เอกสารเดสก์ท็อปตัวอย่าง example.desktop nginx_new.yml nginx.yml

คำสั่ง ansible ad-hoc ด้านล่างใช้เพื่อดาวน์โหลดไฟล์จากโฮสต์ที่กำหนดไว้ในคำสั่ง ในคำสั่งนี้เรากำลังดาวน์โหลดไฟล์โดยใช้โมดูลดึงข้อมูลจากเซิร์ฟเวอร์ node1 ไปยังปลายทางในท้องถิ่นบนโหนดที่ไม่สามารถค้นหาได้.

[email protected]: / home / geekflare # ansible node1 -m fetch -a ‘src = / etc / sudoers.d / nginx.yml ปลายทาง = / home / geekflare / ตัวอย่าง / flat = ใช่’

โหนด 1 | ความสำเร็จ => {

"การเปลี่ยนแปลง": false,

"การตรวจสอบ": "5631822866afd5f19b928edb3ba018385df22dd3",

"ปลายทาง": "/home/geekflare/example/nginx.yml",

"ไฟล์": "/etc/sudoers.d/nginx.yml",

"md5sum": "0d6ffe1069fc25ad4f8ad700277c4634"

}

ตรวจสอบว่าไฟล์นั้นถูกดาวน์โหลดหรือไม่ที่ปลายทางที่ระบุไว้ในคำสั่ง.

[email protected]: / home / geekflare # ls ตัวอย่าง

nginx.yml

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

คำสั่งที่กล่าวถึงด้านล่างติดตั้ง nginx ในกลุ่มโฮสต์ (ไคลเอนต์) ที่กล่าวถึงโดยใช้โมดูล apt.

[email protected]: / home / geekflare # ansible ไคลเอนต์ -m apt -a ‘name = nginx state = latest’ –become

โหนด 1 | ความสำเร็จ => {

"ansible_facts": {

"discovered_interpreter_python": "/ usr / bin / หลาม"

},

"cache_update_time": 1562411227,

"cache_updated": false,

"การเปลี่ยนแปลง": false

}

คำสั่งที่กล่าวถึงด้านล่างจะลบ nginx ในกลุ่มโฮสต์ (ไคลเอ็นต์) โดยใช้โมดูล apt และกำจัดการกำหนดค่าที่เกี่ยวข้องทั้งหมด.

[email protected]: / home / geekflare # ansible ไคลเอนต์ -m apt -a ‘ชื่อ = nginx state = ไม่มีการล้าง = ใช่’ –

โหนด 1 | เปลี่ยน => {

"ansible_facts": {

"discovered_interpreter_python": "/ usr / bin / หลาม"

},

"การเปลี่ยนแปลง": จริง,

"stderr": "",

"stderr_lines": [],

"stdout": "กำลังอ่านรายการแพ็กเกจ … \ n การสร้างต้นไม้การพึ่งพา … \ n กำลังอ่านข้อมูลสถานะ … \ n แพคเกจต่อไปนี้ได้รับการติดตั้งโดยอัตโนมัติและไม่จำเป็นต้องใช้อีกต่อไป: \ n libnginx-mod-http-geoip libnginx-mod-http-image- ตัวกรอง \ n libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream \ n nginx- ทั่วไป nginx-core \ n ใช้ ‘sudo apt a autoremove’ เพื่อลบพวกเขา \ n แพคเกจต่อไปนี้จะถูกลบ: \ n nginx * \ n0 อัปเกรด, เพิ่งติดตั้งใหม่ 0, 1 เพื่อลบและไม่ได้อัปเกรด 241 \ n หลังจากการดำเนินการนี้พื้นที่ดิสก์ 44.0 kB จะถูกปล่อยให้ว่าง \ n (กำลังอ่านฐานข้อมูล … \ r (กำลังอ่านฐานข้อมูล … 5% \ r (กำลังอ่านฐานข้อมูล … 10% \ r (กำลังอ่านฐานข้อมูล … 15% \ r (กำลังอ่านฐานข้อมูล … 20% \ r (กำลังอ่านฐานข้อมูล … 25% \ r (กำลังอ่านฐานข้อมูล … 30% \ r (กำลังอ่านฐานข้อมูล … 35% \ r (กำลังอ่านฐานข้อมูล … 40% \ r (กำลังอ่านฐานข้อมูล … 45% \ r (กำลังอ่านฐานข้อมูล … 50% \ r (กำลังอ่านฐานข้อมูล … 55% \ r (กำลังอ่านฐานข้อมูล … 60% \ r (กำลังอ่านฐานข้อมูล … 65% \ r (กำลังอ่านฐานข้อมูล … 70% \ r (กำลังอ่านฐานข้อมูล … 75% \ r (กำลังอ่านฐานข้อมูล … 80% \ r (readi ฐานข้อมูล ng … 85% \ r (กำลังอ่านฐานข้อมูล … 90% \ r (กำลังอ่านฐานข้อมูล … 95% \ r (กำลังอ่านฐานข้อมูล … 100% \ r (กำลังอ่านฐานข้อมูล … 180191 ไฟล์และไดเรกทอรีในปัจจุบัน ติดตั้งแล้ว) \ r \ n กำลังลบ nginx (1.15.5-0ubuntu2.1) … \ r \ n",

"stdout_lines": [

"กำลังอ่านรายการแพ็กเกจ…",

"อาคารต้นไม้พึ่งพา…",

"อ่านข้อมูลสถานะ…",

"แพ็คเกจต่อไปนี้ได้รับการติดตั้งโดยอัตโนมัติและไม่จำเป็นต้องใช้อีกต่อไป:",

"  libnginx-mod-http-geoip libnginx-mod-http-image-filter",

"  libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream",

"  nginx-ทั่วไป nginx-core",

"ใช้ ‘sudo apt autoremove’ เพื่อลบออก.",

"แพ็คเกจต่อไปนี้จะถูกลบ:",

"  Nginx *",

"0 อัพเกรดแล้วติดตั้งใหม่ 0 ลบ 1 และไม่อัพเกรด 241.",

"หลังจากการดำเนินการนี้พื้นที่ดิสก์ 44.0 kB จะว่าง.",

"ฐานข้อมูลการอ่าน … ",

"(กำลังอ่านฐานข้อมูล … 5%",

"(กำลังอ่านฐานข้อมูล … 10%",

"(กำลังอ่านฐานข้อมูล … 15%",

"(กำลังอ่านฐานข้อมูล … 20%",

"(กำลังอ่านฐานข้อมูล … 25%",

"(กำลังอ่านฐานข้อมูล … 30%",

"(กำลังอ่านฐานข้อมูล … 35%",

"(กำลังอ่านฐานข้อมูล … 40%",

"(กำลังอ่านฐานข้อมูล … 45%",

"(กำลังอ่านฐานข้อมูล … 50%",

"(กำลังอ่านฐานข้อมูล … 55%",

"(กำลังอ่านฐานข้อมูล … 60%",

"(กำลังอ่านฐานข้อมูล … 65%",

"(กำลังอ่านฐานข้อมูล … 70%",

"(กำลังอ่านฐานข้อมูล … 75%",

"(กำลังอ่านฐานข้อมูล … 80%",

"(กำลังอ่านฐานข้อมูล … 85%",

"(กำลังอ่านฐานข้อมูล … 90%",

"(กำลังอ่านฐานข้อมูล … 95%",

"(กำลังอ่านฐานข้อมูล … 100%",

"(กำลังอ่านฐานข้อมูล … ไฟล์และไดเรกทอรี 180191 ที่ติดตั้งอยู่ในปัจจุบัน)",

"การลบ nginx (1.15.5-0ubuntu2.1) …"

]

}

จัดการบริการ

คำสั่ง ansible ad-hoc ด้านล่างนี้เรียกใช้โมดูลบริการเพื่อเริ่ม nginx บนโฮสต์ ควรเริ่มต้นค่าสถานะ.

[email protected]: / home / geekflare # ansible ไคลเอนต์ – บริการ m -a ‘ชื่อ = รัฐ nginx = เปิดใช้งานเริ่ม = ใช่’ –

โหนด 1 | ความสำเร็จ => {

"ansible_facts": {

"discovered_interpreter_python": "/ usr / bin / หลาม"

},

"การเปลี่ยนแปลง": false,

"เปิดการใช้งาน": จริง,

"ชื่อ": "Nginx",

"สถานะ": "เริ่มต้น",

"สถานะ": {

"ActiveEnterTimestamp": "ส. 2019-07-06 08:28:02 EDT",

"ActiveEnterTimestampMonotonic": "31411371",

"ActiveExitTimestampMonotonic": "0",

"ActiveState": "คล่องแคล่ว",

"หลังจาก": "sysinit.target system.slice systemd-journald.socket basic.target network.target",

"AllowIsolate": "ไม่",

"AmbientCapabilities": "",

"AssertResult": "ใช่",

"AssertTimestamp": "ส. 2019-07-06 08:27:59 EDT",

"AssertTimestampMonotonic": "27694868",

"ก่อน": "multi-user.target shutdown.target",

"BlockIOAccounting": "ไม่",

"BlockIOWeight": "[ไม่ได้ตั้งค่า]",

"CapabilityBoundingSet": "cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap cap_linux_immutable cap_net_bind_service cap_net_broadcast CAP_NET_ADMIN cap_net_raw cap_ipc_lock cap_ipc_owner cap_sys_module cap_sys_rawio cap_sys_chroot cap_sys_ptrace cap_sys_pacct cap_sys_admin cap_sys_boot cap_sys_nice cap_sys_resource cap_sys_time cap_sys_tty_config cap_mknod cap_lease cap_audit_write cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend",

"CollectMode": "เฉื่อยชา",

"ConditionResult": "ใช่",

"ConditionTimestamp": "ส. 2019-07-06 08:27:59 EDT",

"ConditionTimestampMonotonic": "27694867",

"ConfigurationDirectoryMode": "0755",

"ความขัดแย้ง": "shutdown.target",

"กลุ่มควบคุม": "/system.slice/nginx.service",

"ControlPID": "0",

"ExecMainStartTimestamp": "ส. 2019-07-06 08:28:02 EDT",

"ExecMainStartTimestampMonotonic": "31411353",

"ExecMainStatus": "0",

"ExecReload": "{path = / usr / sbin / nginx; argv [] = / usr / sbin / nginx -g daemon บน; เปิด master_process; โหลดซ้ำ Ign_errors = no; start_time = [n / a]; stop_time = [n / a]; pid = 0; code = (null); สถานะ = 0/0}",

"ExecStart": "{path = / usr / sbin / nginx; argv [] = / usr / sbin / nginx -g daemon บน; เปิด master_process; ; Ign_errors = no; start_time = [n / a]; stop_time = [n / a]; pid = 0; code = (null); สถานะ = 0/0}",

"ExecStartPre": "{path = / usr / sbin / nginx; argv [] = / usr / sbin / nginx -t -q -g daemon บน; เปิด master_process; ; Ign_errors = no; start_time = [n / a]; stop_time = [n / a]; pid = 0; code = (null); สถานะ = 0/0}",

"ExecStop": "{path = / sbin / start-stop-daemon; argv [] = / sbin / start-stop-daemon –quiet –stop –retry QUIT / 5 –pidfile /run/nginx.pid; Ign_errors = ใช่; start_time = [n / a]; stop_time = [n / a]; pid = 0; code = (null); สถานะ = 0/0}",

"FailureAction": "ไม่มี",

"FileDescriptorStoreMax": "0",

"FragmentPath": "/lib/systemd/system/nginx.service",

"GID": "[ไม่ได้ตั้งค่า]",

"GuessMainPID": "ใช่",

"IOAccounting": "ไม่",

"IOSchedulingClass": "0",

"IOSchedulingPriority": "0",

"IOWeight": "[ไม่ได้ตั้งค่า]",

}

}

ด้านล่างนี้เรียกใช้โมดูลบริการเพื่อหยุด nginx บนโฮสต์ ค่าสถานะเปลี่ยนเป็นหยุด.

[email protected]: / home / geekflare # ansible ไคลเอนต์ – บริการ m – a ‘ชื่อ = nginx state = หยุด’ –

โหนด 1 | เปลี่ยน => {

"ansible_facts": {

"discovered_interpreter_python": "/ usr / bin / หลาม"

},

"การเปลี่ยนแปลง": จริง,

"ชื่อ": "Nginx",

"สถานะ": "หยุด",

"สถานะ": {

"ActiveEnterTimestamp": "ส. 2019-07-06 08:28:02 EDT",

"ActiveEnterTimestampMonotonic": "31411371",

"ActiveExitTimestampMonotonic": "0",

"ActiveState": "คล่องแคล่ว",

"หลังจาก": "sysinit.target system.slice systemd-journald.socket basic.target network.target",

"AllowIsolate": "ไม่",

"AmbientCapabilities": "",

"AssertResult": "ใช่",

"AssertTimestamp": "ส. 2019-07-06 08:27:59 EDT",

"AssertTimestampMonotonic": "27694868",

"ก่อน": "multi-user.target shutdown.target",

"BlockIOAccounting": "ไม่",

"BlockIOWeight": "[ไม่ได้ตั้งค่า]",

"CPUAccounting": "ไม่",

"CPUQuotaPerSecUSec": "ความไม่มีที่สิ้นสุด",

"CanReload": "ใช่",

"CanStart": "ใช่",

"CanStop": "ใช่",

"CapabilityBoundingSet": "cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap cap_linux_immutable cap_net_bind_service cap_net_broadcast CAP_NET_ADMIN cap_net_raw cap_ipc_lock cap_ipc_owner cap_sys_module cap_sys_rawio cap_sys_chroot cap_sys_ptrace cap_sys_pacct cap_sys_admin cap_sys_boot cap_sys_nice cap_sys_resource cap_sys_time cap_sys_tty_config cap_mknod cap_lease cap_audit_write cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend",

"CollectMode": "เฉื่อยชา",

"ConditionResult": "ใช่",

"ConditionTimestamp": "ส. 2019-07-06 08:27:59 EDT",

"ConditionTimestampMonotonic": "27694867",

"ConfigurationDirectoryMode": "0755",

"ความขัดแย้ง": "shutdown.target",

"กลุ่มควบคุม": "/system.slice/nginx.service",

"ControlPID": "0",

"DefaultDependencies": "ใช่",

"ตัวแทน": "ไม่",

"ลักษณะ": "เว็บเซิร์ฟเวอร์ประสิทธิภาพสูงและพร็อกซีเซิร์ฟเวอร์ย้อนกลับ",

"DevicePolicy": "รถยนต์",

"เอกสาร": "ชาย: Nginx (8)",

"DynamicUser": "ไม่",

}

}

ตรวจสอบระบบ

คำสั่ง ad-hoc ที่กล่าวถึงด้านล่างจะรันโมดูลเชลล์เพื่อตรวจสอบดิสก์ที่มีอยู่ในพาร์ติชันราก.

[email protected]: / home / geekflare # ansible Client -m shell -a ‘df -h / dev / sda2’ –

โหนด 1 | เปลี่ยน | RC = 0 >>

ขนาดระบบแฟ้มที่ใช้ประโยชน์ใช้% ติดตั้งบน

/ dev / sda2 923M 113M 748M 14% / boot

คำสั่งที่กล่าวถึงด้านล่างนี้รันโมดูลเชลล์เพื่อตรวจสอบหน่วยความจำว่าง (RAM) บนโฮสต์.

[email protected]: / home / geekflare # ansible ไคลเอนต์ -m shell -a ‘free -m’ – เบราว์เซอร์

โหนด 1 | เปลี่ยน | RC = 0 >>

มีการใช้ buff / cache แชร์ที่ใช้ฟรีทั้งหมด

Mem: 5101 854 2760 27 1487 3947

แลกเปลี่ยน: 8581 0 8581

คำสั่งนี้ตรวจสอบสถานะการออนไลน์ของเซิร์ฟเวอร์แต่ละเครื่องที่ทำงานอยู่.

[email protected]: / home / geekflare # ansible Client -a "uptime"

โหนด 1 | เปลี่ยน | RC = 0 >>

11:31:17 ขึ้น 1 วัน, 2:40, ผู้ใช้ 2 คน, โหลดเฉลี่ย: 0.23, 0.05, 0.02

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

คำสั่ง ansible ad-hoc ด้านล่างจะให้ข้อมูล ad-hoc ทั้งหมดของระบบของคุณรวมถึงตัวแปรทั้งหมดที่มีอยู่ในระบบ.

[email protected]: / home / geekflare # ansible all -m setup

โหนด 1 | ความสำเร็จ => {

"ansible_facts": {

"ansible_all_ipv4_addresses": [

"172.17.0.1",

"10.0.2.15"

],

"ansible_all_ipv6_addresses": [

"fe80 :: 763e: c0b4: 14df: b273"

],

"ansible_apparmor": {

"สถานะ": "เปิดการใช้งาน"

},

"ansible_architecture": "x86_64",

"ansible_bios_date": "2006/12/01",

"ansible_bios_version": "VirtualBox",

"ansible_cmdline": {

"BOOT_IMAGE": "/vmlinuz-4.18.0-25-generic",

"เงียบ": จริง,

"RO": จริง,

"ราก": "UUID = 5f85d8b7-0ab2-48c9-9e6e-4ecfbcbdaa83",

"สาด": จริง

},

"ansible_date_time": {

"วันที่": "2019/07/07",

"วัน": "07",

"ยุค": "1562525628",

"ชั่วโมง": "14",

"ISO8601": "2019-07-07T18: 53: 48Z",

"iso8601_basic": "20190707T145348850596",

"iso8601_basic_short": "20190707T145348",

"iso8601_micro": "2019-07-07T18: 53: 48.850697Z",

"นาที": "53",

"เดือน": "07",

"ที่สอง": "48",

"เวลา": "14:53:48",

"TZ": "EDT",

"tz_offset": "-0400",

"ในวันทำงาน": "วันอาทิตย์",

"weekday_number": "0",

"weeknumber": "26",

"ปี": "2019"

},

"ansible_default_ipv4": {

"ที่อยู่": "10.0.2.15",

"นามแฝง": "enp0s3",

"ออกอากาศ": "10.0.2.255",

"ประตู": "10.0.2.2",

"อินเตอร์เฟซ": "enp0s3",

"หมายเลขทางกายภาพ": "08: 00: 27: 68: 64: 9a",

"MTU": 1,500,

"netmask": "255.255.255.0",

"เครือข่าย": "10.0.2.0",

"ชนิด": "อีเทอร์"

},

"ansible_default_ipv6": {},

"ansible_device_links": {

"รหัส": {

"SDA": [

"ATA-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5"

],

"sda1": [

"ATA-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part1"

],

"sda2": [

"ATA-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part2"

],

"sda3": [

"ATA-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-Part3"

],

"sda4": [

"ATA-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-Part4"

],

"sr0": [

"ATA-VBOX_CD-ROM_VB2-01700376"

]

},

"ป้ายชื่อ": {

"sr0": [

"VBox_GAs_6.0.2"

]

},

"ปริญญาโท": {},

"UUIDs": {

"sda1": [

"5f85d8b7-0ab2-48c9-9e6e-4ecfbcbdaa83"

],

"sda2": [

"b8b7f87b-c3bf-48ed-a44c-f9b3ce0afbe5"

],

"sda3": [

"a6c77fa6-e292-4a0d-b21f-8804f1949bbd"

],

"sda4": [

"8207f970-4d9a-47db-a5d5-f620e5b17b7b"

],

"sr0": [

"2019-01-14-14-57-19-65"

]

}

},

"ansible_devices": {

"loop0": {

"ผู้ถือ": [],

"เจ้าภาพ": "",

"การเชื่อมโยง": {

"รหัส": [],

"ป้ายชื่อ": [],

"ปริญญาโท": [],

"UUIDs": []

},

"แบบ": null,

"พาร์ทิชัน": {},

"ถอดได้": "0",

"การหมุน": "1",

"sas_address": null,

"sas_device_handle": null,

"scheduler_mode": "ไม่มี",

"ภาค": "29704",

"sectorsize": "512",

"ขนาด": "14.50 MB",

"support_discard": "4096",

"ผู้ขาย": null,

"เสมือน": 1

},

"loop1": {

"ผู้ถือ": [],

"เจ้าภาพ": "",

"การเชื่อมโยง": {

"รหัส": [],

"ป้ายชื่อ": [],

"ปริญญาโท": [],

"UUIDs": []

},

"แบบ": null,

"พาร์ทิชัน": {},

"ถอดได้": "0",

"การหมุน": "1",

"sas_address": null,

"sas_device_handle": null,

"scheduler_mode": "ไม่มี",

"ภาค": "0",

"sectorsize": "512",

"ขนาด": "0.00 ไบต์",

"support_discard": "4096",

"ผู้ขาย": null,

"เสมือน": 1

},

}

ดังนั้นนั่นคือทั้งหมดที่เกี่ยวกับคำสั่ง Ad-hoc แบบไม่มีคำสั่ง ไปข้างหน้าและลองใช้คำสั่งเหล่านี้ในการตั้งค่าของคุณ ใช้คำสั่งเหล่านี้เพื่อเรียกใช้โมดูลที่ไม่มีคำว่า ansible playbook ใด ๆ เพื่อดำเนินงานเหล่านั้น แสดงความคิดเห็นหากคุณประสบปัญหาใด ๆ ในการใช้คำสั่งเหล่านี้.

Tags:

  • เบิ้ล

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map