Spec-Zone.ru › Ansible 2.6

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

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

Описание

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
argv
(добавлено в 2.6)
Позволяет пользователю предоставить команду в виде списка вместо строки. Только строковая или списковая форма может быть предоставлена, а не обе одновременно. Одна или другая должны быть предоставлены.
chdir
Изменить текущую директорию перед выполнением команды.
creates
Имя файла или (с версии 2.0) шаблон glob. Если файл уже существует, этот шаг не будет выполнен.
free_form
обязательно
Модуль команды принимает команду в свободном формате для выполнения. Нет параметра, фактически названного 'свободный формат'. Смотрите примеры!
removes
Имя файла или (с версии 2.0) шаблон glob. Если файл не существует, этот шаг не будет выполнен.
stdin
(добавлено в 2.4)
Установить стандартный ввод команды непосредственно на указанное значение.
warn
bool

(добавлено в 1.8)
    Варианты:
  • нет
  • да ←
Если флаг 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
  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, что означает, что разработчики этого модуля гарантируют, что не будет внесено никаких несовместимых с обратной совместимостью изменений интерфейса.

Техническое обслуживание

Этот модуль помечен как core, что означает, что его поддерживает Команда Ansible Core. Подробнее см. Техническое обслуживание и поддержка модулей.

Список других модулей, которые также поддерживает Команда Ansible Core, см. здесь.

Поддержка

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

Автор

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

Spec-Zone.ru

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