script — Запуск локального скрипта на удалённом узле после его передачи
Описание
- Модуль
scriptпринимает имя скрипта, за которым следует список аргументов, разделённых пробелами. - Локальный скрипт по указанному пути будет передан на удалённый узел и затем выполнен.
- Указанный скрипт будет обработан в среде оболочки удалённого узла.
- Этот модуль не требует наличия Python на удалённой системе, подобно модулю raw.
- Этот модуль также поддерживается для целевых систем Windows.
Параметры
| параметр | обязательно | значение по умолчанию | возможные значения | комментарии |
|---|---|---|---|---|
| chdir (добавлен в 2.4)
| нет | Перейти в указанный каталог на удалённом узле перед запуском скрипта | ||
| creates (добавлен в 1.5)
| нет | Имя файла; если файл уже существует, этот шаг не будет выполнен. | ||
| decrypt (добавлен в 2.4)
| нет | Да |
| Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью хранилища vault. |
| free_form | да | Путь к локальному файлу скрипта, за которым следуют необязательные аргументы. Параметра с именем «free form» нет; см. примеры! | ||
| removes (добавлен в 1.5)
| нет | Имя файла; если файл не существует, этот шаг не будет выполнен. |
Примеры
# 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
Примечания
Примечание
- В большинстве случаев предпочтительнее писать модули Ansible, чем использовать скрипты. Преобразуйте свой скрипт в модуль Ansible для достижения наилучших результатов!
- Плагин подключения ssh при выполнении скриптов будет принудительно выделять псевдотерминал через -tt. Псевдотерминалы не имеют канала stderr, и весь stderr отправляется в stdout. Если вам нужны отдельные ключи stdout и stderr, переключитесь на набор задач с копированием и командой вместо использования script.
- Этот модуль также поддерживается для целевых систем Windows.
- Если путь к локальному скрипту содержит пробелы, он должен быть заключён в кавычки.
Статус
Этот модуль помечен как stableinterface, что означает, что авторы модуля гарантируют отсутствие несовместимых изменений интерфейса.
Информация о поддержке
Для получения дополнительной информации о поддержке данного модуля компанией Red Hat, пожалуйста, обратитесь к knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>
Для получения помощи в разработке модулей, если вас это интересует, пожалуйста, ознакомьтесь с Информацией о сообществе и участии в разработке, Тестированием Ansible и Разработкой модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/script_module.html