script – Выполняет локальный скрипт на удалённом узле после его передачи
Описание
- Модуль
scriptпринимает имя скрипта, за которым следует список аргументов, разделённых пробелами. - Локальный скрипт по указанному пути будет передан на удалённый узел и затем выполнен.
- Указанный скрипт будет обработан через оболочку на удалённом узле.
- Данному модулю не требуется Python на удалённой системе, так же, как и модулю raw.
- Этот модуль также поддерживается для целевых систем Windows.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| chdir - добавлено в 2.4 | Изменить текущую директорию на удалённом узле перед выполнением скрипта. | |
| creates - | Имя файла на удалённом узле. Если файл уже существует, этот шаг не будет выполнен. | |
| decrypt boolean добавлено в 2.4 |
| Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью хранилища. |
| executable - добавлено в 2.6 | Имя или путь к исполняемому файлу для вызова скрипта. | |
| free_form - / обязательно | Путь к локальному файлу скрипта, за которым следуют необязательные аргументы. На самом деле параметра с именем 'free form' нет, см. примеры! | |
| removes - | Имя файла на удалённом узле. Если файл не существует, этот шаг не будет выполнен. |
Примечания
Примечание
- В большинстве случаев предпочтительнее создание Ansible модулей, чем передача скриптов. Превратите свой скрипт в Ansible модуль для достижения дополнительных результатов!
- Подключаемый модуль
sshсоединения заставит выделять псевдо-терминалы через-ttпри выполнении скриптов. Псевдо-терминалы не имеют канала stderr, и весь stderr отправляется в stdout. Если вам необходимы раздельные ключи stdout и stderr, используйте набор задач по копированию и выполнению команд вместо использования модуля script. - Если путь к локальному скрипту содержит пробелы, его необходимо заключить в кавычки.
- Этот модуль также поддерживается для целевых систем Windows.
См. также
См. также
- shell – Выполнение команд оболочки на целевых узлах
- Официальная документация по модулю shell.
- win_shell – Выполнение команд оболочки на целевых узлах
- Официальная документация по модулю win_shell.
Примеры
- name: Run a script with arguments
script: /some/local/script.sh --some-argument 1234
- name: Run a script only if file.txt does not exist on the remote node
script: /some/local/create_file.sh --some-argument 1234
args:
creates: /the/created/file.txt
- name: Run a script only if file.txt exists on the remote node
script: /some/local/remove_file.sh --some-argument 1234
args:
removes: /the/removed/file.txt
- name: Run a script using an executable in a non-system path
script: /some/local/script
args:
executable: /some/remote/executable
- name: Run a script using an executable in a system path
script: /some/local/script.py
args:
executable: python3
Статус
- Этот модуль гарантированно не будет иметь обратной несовместимости в будущем. [stableinterface]
- Этот модуль поддерживается командой разработчиков Ansible. [core]
Поддержка Red Hat
Дополнительную информацию о поддержке данного модуля Red Hat см. в этой статье базы знаний Red Hat.
Авторы
- Команда разработчиков Ansible
- 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.8/modules/script_module.html