script - Выполнение локального скрипта на удалённом узле после передачи
Описание
- Модуль
scriptпринимает имя скрипта, за которым следует список аргументов, разделённых пробелами. - Локальный скрипт по указанному пути будет передан на удалённый узел и затем выполнен.
- Указанный скрипт будет обработан через оболочку на удалённом узле.
- Этот модуль не требует наличия Python на удалённой системе, подобно модулю raw.
- Этот модуль также поддерживается для целевых систем Windows.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| chdir (добавлено в 2.4) | Перейти в указанную директорию на удалённом узле перед выполнением скрипта | |
| creates (добавлено в 1.5) | Имя файла. Если файл уже существует, эта операция не будет выполнена. | |
| decrypt bool (добавлено в 2.4) |
"Yes" | Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью vault. |
| executable (добавлено в 2.6) | Имя или путь к исполняемому файлу, с помощью которого будет вызван скрипт | |
| free_form обязательно | Путь к локальному файлу скрипта, за которым следуют необязательные аргументы. Параметра с именем 'free form' фактически нет; см. примеры! | |
| removes (добавлено в 1.5) | Имя файла. Если файл не существует, эта операция не будет выполнена. |
Примечания
Примечание
- В большинстве случаев предпочтительнее писать модули Ansible, чем передавать скрипты. Преобразуйте свой скрипт в модуль Ansible для получения дополнительных баллов!
- Плагин подключения ssh принудительно будет выделять псевдотерминал с помощью -tt при выполнении скриптов. Псевдотерминалы не имеют канала stderr, и весь stderr отправляется в stdout. Если вам необходимы отдельные ключи результата stdout и stderr, замените использование модуля script на набор задач copy+command.
- Этот модуль также поддерживается для целевых систем Windows.
- Если путь к локальному скрипту содержит пробелы, его необходимо заключить в кавычки.
Примеры
# Example from Ansible Playbooks
- script: /some/local/script.sh --some-arguments 1234
# Run a script that creates a file, but only if the file is not yet created
- script: /some/local/create_file.sh --some-arguments 1234
args:
creates: /the/created/file.txt
# Run a script that removes a file, but only if the file is not yet removed
- script: /some/local/remove_file.sh --some-arguments 1234
args:
removes: /the/removed/file.txt
# Run a script using a executable in a non-system path
- script: /some/local/script
args:
executable: /some/remote/executable
# Run a script using a executable in a system path
- script: /some/local/script.py
args:
executable: python3
Статус
Этот модуль помечен как stableinterface, что означает, что авторы модуля гарантируют отсутствие обратной несовместимости в интерфейсе.
Техническое обслуживание
Этот модуль помечен как core, что означает, что он поддерживается командой Ansible Core. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, также поддерживаемых командой Ansible Core, см. здесь.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией 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.6/modules/script_module.html