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