ansible.builtin.script – Выполняет локальный скрипт на удалённом узле после его передачи
Примечание
Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля script даже без указания ключевого слова collections:. Несмотря на это, мы рекомендуем использовать полное имя класса (FQCN) для лёгкой ссылки на документацию по модулю и для предотвращения конфликтов с другими коллекциями, которые могут иметь то же имя модуля.
Новое в версии 0.9: of ansible.builtin
Описание
- Модуль
scriptпринимает имя скрипта, за которым следует список аргументов, разделённых пробелами. - Требуется либо команда в свободном формате, либо параметр
cmd, см. примеры. - Локальный скрипт по указанному пути будет передан на удалённый узел и затем выполнен.
- Указанный скрипт будет обработан в среде оболочки на удалённом узле.
- Этому модулю не требуется Python на удалённой системе, как и модулю ansible.builtin.raw.
- Этот модуль также поддерживается для целей Windows.
Примечание
У этого модуля есть соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| chdir строка добавлен в версии 2.4 of ansible.builtin | Изменить текущую директорию на удалённом узле перед выполнением скрипта. | |
| cmd строка | Путь к локальному скрипту для выполнения, за которым следуют необязательные аргументы. | |
| creates строка добавлен в версии 1.5 of ansible.builtin | Имя файла на удалённом узле. Если файл уже существует, этот шаг не будет выполнен. | |
| decrypt логическое значение добавлен в версии 2.4 of ansible.builtin |
| Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью vault. |
| executable строка добавлен в версии 2.6 of ansible.builtin | Имя или путь к исполняемому файлу, который будет вызвать скрипт. | |
| free_form строка | Путь к локальному файлу скрипта, за которым следуют необязательные аргументы. | |
| removes строка добавлен в версии 1.5 of 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
- Майкл ДеХан
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/builtin/script_module.html