Специальные команды — это команды, которые можно запускать индивидуально для выполнения быстрых функций. Эти команды не должны быть выполнены позже.
Например, вам нужно перезагрузить все серверы вашей компании. Для этого вы запустите команды Adhoc из / usr / bin / ansible .
Эти специальные команды не используются для управления конфигурацией и развертывания, потому что эти команды используются один раз.
ansible-playbook используется для управления конфигурацией и развертывания.
Параллелизм и Команды Shell
Перезагрузите сервер своей компании в 12 параллельных вилок одновременно. Для этого нам нужно настроить SSHagent для подключения.
$ ssh-agent bash $ ssh-add ~/.ssh/id_rsa
Чтобы выполнить перезагрузку для всех серверов вашей компании в группе «abc», в 12 параллельных ветвях —
$ Ansible abc -a "/sbin/reboot" -f 12
По умолчанию Ansible запускает указанные выше специальные команды из текущей учетной записи пользователя. Если вы хотите изменить это поведение, вам нужно будет передать имя пользователя в специальных командах следующим образом:
$ Ansible abc -a "/sbin/reboot" -f 12 -u username
Передача файла
Вы можете использовать специальные команды для одновременного выполнения большого количества файлов 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"
Управление пакетами
Специальные команды доступны для yum и apt. Ниже приведены некоторые специальные команды, использующие yum.
Следующая команда проверяет, установлен пакет yum или нет, но не обновляет его.
$ 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. Вы можете найти специальную информацию обо всех ваших фактах с помощью следующей специальной команды —