Spec-Zone.ru › Ansible 2.4

command - Выполняет команду на удалённом узле

  • Описание
  • Параметры
  • Примеры
  • Примечания
    • Статус
    • Информация о техническом обслуживании

Описание

  • Модуль command принимает имя команды, за которым следует список аргументов, разделённых пробелами.
  • Заданная команда будет выполнена на всех выбранных узлах. Она не будет обрабатываться через оболочку, поэтому переменные, такие как $HOME, и операции, такие как "<", ">", "|", ";" и "&", не будут работать (используйте модуль shell, если вам нужны эти функции).
  • Для целевых узлов Windows используйте модуль win_command.

Параметры

параметр обязательный по умолчанию варианты примечания
chdir
нет
Перейти в этот каталог перед выполнением команды.
creates
нет
Имя файла или (с версии 2.0) шаблон подстановки, если он уже существует, этот шаг не будет выполнен.
free_form
да
Модуль команды принимает команду в свободном формате для выполнения. Нет параметра с названием «свободная форма». Смотрите примеры!
removes
нет
Имя файла или (с версии 2.0) шаблон подстановки, если он не существует, этот шаг не будет выполнен.
stdin
(добавлен в 2.4)
нет
Установить stdin команды непосредственно на указанное значение.
warn
(добавлен в 1.8)
нет да
  • да
  • нет
Если предупреждения command_warnings включены в ansible.cfg, не выдавать предупреждение об этой строке, если установлено значение no.

Примеры

- name: return motd to registered var
  command: cat /etc/motd
  register: mymotd

- name: Run the command if the specified file does not exist.
  command: /usr/bin/make_database.sh arg1 arg2 creates=/path/to/database

# You can also use the 'args' form to provide the options.
- name: This command will change the working directory to somedir/ and will only run when /path/to/database doesn't exist.
  command: /usr/bin/make_database.sh arg1 arg2
  args:
    chdir: somedir/
    creates: /path/to/database

- name: safely use templated variable to run command. Always use the quote filter to avoid injection issues.
  command: cat {{ myfile|quote }}
  register: myoutput

Примечания

Примечание

  • Если вы хотите выполнить команду через оболочку (скажем, вы используете <, >, |, и т.д.), вам на самом деле нужен модуль shell вместо этого. Парсинг метасимволов оболочки может привести к выполнению неожиданных команд, если цитирование не выполнено правильно, поэтому для большей безопасности используйте модуль command при возможности.
  • creates, removes, и chdir можно указать после команды. Например, если вы хотите выполнить команду только в том случае, если определённый файл не существует, используйте это.
  • Параметр executable удалён с версии 2.4. Если вам нужен этот параметр, используйте модуль shell вместо него.
  • Для целевых узлов Windows используйте модуль win_command вместо него.

Статус

Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будут вноситься несовместимые изменения в интерфейс.

Информация о техническом обслуживании

Для получения дополнительной информации о поддержке этого модуля компанией Red Hat, обратитесь к этому knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>

Для получения помощи в разработке модулей, если вы так заинтересованы, пожалуйста, прочтите Информация сообщества и участие в разработке, Тестирование Ansible и Разработка модулей.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/command_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API