ansible.builtin.script – Выполняет локальный скрипт на удалённом узле после его передачи
Примечание
Этот модуль входит в состав ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля script даже без указания ключевого слова collections:. Несмотря на это, мы рекомендуем использовать полное имя класса (FQCN) для удобной ссылки на документацию модуля и для предотвращения конфликтов с другими коллекциями, которые могут иметь то же имя модуля.
Новая версия в версии 0.9: of ansible.builtin
Обзор
- Модуль
scriptпринимает имя скрипта, за которым следует список аргументов, разделённых пробелами. - Требуется либо команда произвольной формы, либо параметр
cmd, см. примеры. - Локальный скрипт по указанному пути будет передан на удалённый узел и затем выполнен.
- Указанный скрипт будет обработан в среде оболочки на удалённом узле.
- Данному модулю не требуется Python на удалённой системе, подобно модулю ansible.builtin.raw.
- Этот модуль также поддерживается для целевых систем Windows.
Примечание
У этого модуля есть соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| chdir строка добавлен в версии 2.4 ansible.builtin | Изменить текущую директорию на удалённом узле перед выполнением скрипта. | |
| cmd строка | Путь к локальному скрипту для выполнения, за которым могут следовать необязательные аргументы. | |
| creates строка добавлен в версии 1.5 ansible.builtin | Имя файла на удалённом узле. Если файл уже существует, этот шаг не будет выполнен. | |
| decrypt булево добавлен в версии 2.4 ansible.builtin |
| Этот параметр управляет автоматическим расшифрованием исходных файлов с использованием vault. |
| executable строка добавлен в версии 2.6 ansible.builtin | Имя или путь к исполняемому файлу для вызова скрипта. | |
| free_form строка | Путь к локальному файлу скрипта, за которым могут следовать необязательные аргументы. | |
| removes строка добавлен в версии 1.5 ansible.builtin | Имя файла на удалённом узле. Если файл не существует, этот шаг не будет выполнен. |
Примечания
Примечание
- В большинстве случаев предпочтительнее создавать модули Ansible, а не передавать скрипты. Превратите свой скрипт в модуль Ansible для получения дополнительных баллов!
- Плагин подключения
sshбудет принудительно выделять псевдотерминал через-ttпри выполнении скриптов. Псевдотерминалы не имеют канала stderr, и все данные stderr отправляются в stdout. Если вам необходимо разделение результатов stdout и stderr, переключитесь на набор задач с копированием и выполнением команды вместо использования script. - Если путь к локальному скрипту содержит пробелы, его необходимо заключить в кавычки.
- Этот модуль также поддерживается для целевых систем Windows.
- Не поддерживает
check_mode.
См. также
См. также
- ansible.builtin.shell
-
Официальная документация модуля ansible.builtin.shell.
- ansible.windows.win_shell
-
Официальная документация модуля ansible.windows.win_shell.
Примеры
- name: Run a script with arguments (free form)
ansible.builtin.script: /some/local/script.sh --some-argument 1234
- name: Run a script with arguments (using 'cmd' parameter)
ansible.builtin.script:
cmd: /some/local/script.sh --some-argument 1234
- name: Run a script only if file.txt does not exist on the remote node
ansible.builtin.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
ansible.builtin.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
ansible.builtin.script: /some/local/script
args:
executable: /some/remote/executable
- name: Run a script using an executable in a system path
ansible.builtin.script: /some/local/script.py
args:
executable: python3
Авторы
- Команда разработчиков Ansible
- Michael DeHaan
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/builtin/script_module.html