Spec-Zone.ru › Ansible 2.5

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

  • Описание
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
    • Поддержка
    • Автор

Описание

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
chdir
Перейти в этот каталог перед запуском команды.
creates
Имя файла или (с версии 2.0) шаблон подстановки, если файл уже существует, этот шаг не будет выполнен.
free_form
обязательно
Модуль команды принимает команду в свободном формате для выполнения. Нет параметра, фактически названного 'free form'. Смотрите примеры!
removes
Имя файла или (с версии 2.0) шаблон подстановки, если файл не существует, этот шаг не будет выполнен.
stdin
(добавлено в 2.4)
По умолчанию:
None
Установить stdin команды непосредственно на указанное значение.
warn
(добавлено в 1.8)
    Варианты:
  • no
  • yes ←
Если флаг command_warnings включён в ansible.cfg, не предупреждать об этой строке, если установлено значение no.

Примечания

Примечание

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

Примеры

- 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

Возвращаемые значения

Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:

Ключ Возвращаемое значение Описание
cmd
список
всегда
команда, которая была запущена на удалённой машине

Пример:
['echo', 'hello']
delta
строка
всегда
время окончания команды - время начала команды

Пример:
0.001529
end
строка
всегда
время окончания команды

Пример:
2017-09-29 22:03:48.084657
start
строка
всегда
время начала команды

Пример:
2017-09-29 22:03:48.083128


Статус

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

Поддержка

Дополнительную информацию о поддержке этого модуля Red Hat см. в этой статье базы знаний

Автор

  • Команда разработчиков Ansible
  • Michael DeHaan

Подсказка

Если вы обнаружите какие-либо проблемы в этой документации, вы можете изменить этот документ, чтобы улучшить его.

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

Spec-Zone.ru

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