Ansible command module


  • با استفاده از این ماژول می‌توان دستوراتی را به صورت مستقیم بر روی خادم‌های تحت مدیریت اجرا کرد.

  • به عنوان مثال دستور زیر باعث می‌شود تا :
    • دستور df بر روی تمام خادم‌های تحت مدیریت اجرا و خروجی آن نمایش داده شود.
# ansible all -m command -a "df -h"
  • نکته: دستور یا دستورات در نظر گرفته شده جهت اجرا بر روی خادم‌های تحت مدیریت باید در آن سیستم‌ها موجود باشد.
  • نکته: عبارت all مشخص می‌کند که ماژول فراخوانی شده بر روی تمامی گروه‌ها و خادم‌های تحت مدیریت اجرا شود.
  • نکته: با استفاده از سویچ m- نام ماژول مشخص شده است.
  • نکته: با استفاده از سویچ a- دستور مورد نظر جهت اجرا بر روی خادم‌های تحت مدیریت، مشخص شده است.
  • نکته: استثنا می‌توان نام ماژول را در هنگام استفاده از این ماژول ذکر نکرد. به عنوان مثال :
# ansible all -a "df -h"
  • در صورتی که دستور بالا به صورت موفقیت آمیز اجرا شده باشد، خروجی‌ای مشابه زیر دریافت خواهید کرد :
172.16.0.247 | SUCCESS | rc=0 >>
Filesystem      Size  Used Avail Use% Mounted on
udev            479M     0  479M   0% /dev
tmpfs            99M  3.0M   96M   4% /run
/dev/sda1        96G  1.4G   90G   2% /
tmpfs           494M     0  494M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           494M     0  494M   0% /sys/fs/cgroup
tmpfs            99M     0   99M   0% /run/user/1000
tmpfs            99M     0   99M   0% /run/user/0

172.16.0.248 | SUCCESS | rc=0 >>
Filesystem                     Size  Used Avail Use% Mounted on
udev                           475M     0  475M   0% /dev
tmpfs                          100M  4.6M   95M   5% /run
/dev/mapper/ubuntu16--vg-root   97G  1.9G   90G   3% /
tmpfs                          497M     0  497M   0% /dev/shm
tmpfs                          5.0M     0  5.0M   0% /run/lock
tmpfs                          497M     0  497M   0% /sys/fs/cgroup
/dev/sda1                      720M  110M  574M  17% /boot
tmpfs                          100M     0  100M   0% /run/user/1000
tmpfs                          100M     0  100M   0% /run/user/0

172.16.0.245 | SUCCESS | rc=0 >>
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 908M     0  908M   0% /dev
tmpfs                    920M     0  920M   0% /dev/shm
tmpfs                    920M  8.9M  911M   1% /run
tmpfs                    920M     0  920M   0% /sys/fs/cgroup
/dev/mapper/centos-root   50G  1.6G   49G   4% /
/dev/sda1               1014M  193M  822M  19% /boot
/dev/mapper/centos-home   46G   33M   46G   1% /home
tmpfs

  • به عنوان مثال دستور زیر باعث می شود تا :
    • دستور whoami بر روی تمام خادم‌های تحت مدیریت اجرا شود.
# ansible all -a "whoami"
  • در صورتی که دستور بالا به صورت موفقیت آمیز اجرا شده باشد، خروجی‌ای مشابه زیر دریافت خواهید کرد :
172.16.0.248 | SUCCESS | rc=0 >>
root

172.16.0.247 | SUCCESS | rc=0 >>
root

172.16.0.245 | SUCCESS | rc=0 >>
root
  • نکته: با توجه به این که اتصال از خادم مرکزی به خادم‌های تحت مدیریت از طریق کاربر root انجام گرفته است، لذا به صورت عادی سطح دسترسی به میزان کاربر root می‌باشد.
  • نکته: در صورتی که از کاربری به غیر از کاربر root به منظور اتصال به خادم‌های تحت مدیریت استفاده کردید، با استفاده از سویچ s- می‌توانید سطح دسترسی را به کاربر root ارتقاء دهید اما باید توجه کنید که این سویچ از ابزار sudo برای ارتقاء سطح دسترسی استفاده می‌کند. لذا انتظار می‌رود ابزار sudo بر روی خادم‌های تحت مدیریت نصب و پیکربندی شده باشد.

  • برای مطالعه بیشتر در خصوص این ماژول به آدرس اینترنتی زیر مراجعه کنید :
https://docs.ansible.com/ansible/latest/modules/command_module.html
  • همچنین برای مطالعه بییشتر در خصوص این ماژول، می‌توان از دستور ansible-doc استفاده نمود.

  • آزمایش شده بر روی Ansible نسخه‌ی 2.5.1
  • آزمایش شده بر روی سیستم عامل Ubuntu 18.04

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *