Spec-Zone.ru › Ansible 2.7

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

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

Описание

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

Параметры

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

Примечания

Примечание

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

См. также

См. также

raw – Выполняет низкоуровневую и грязную SSH команду
Официальная документация модуля raw.
script – Выполняет локальный скрипт на удалённом узле после его передачи
Официальная документация модуля script.
shell – Выполнение команд на узлах.
Официальная документация модуля shell.
win_command – Выполнение команды на удалённом узле 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
  args:
    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: use argv to send the command as a list.  Be sure to leave command empty
  command:
  args:
    argv:
      - echo
      - testing

- 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]
  • Этот модуль поддерживается командой Ansible Core. [core]

Поддержка Red Hat

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

Авторы

  • Команда Ansible Core
  • 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.7/modules/command_module.html

Spec-Zone.ru

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