community.windows.win_nssm – Установка службы с помощью NSSM
Примечание
Этот плагин входит в коллекцию community.windows (версия 1.2.0).
Для установки используйте: ansible-galaxy collection install community.windows.
Для использования в книге задач укажите: community.windows.win_nssm.
Обзор
- Установка службы Windows с помощью оболочки NSSM.
- NSSM — это помощник для служб, который не так уж плох. Дополнительную информацию см. на странице https://nssm.cc/.
Требования
Ниже перечислены требования, которые должны быть выполнены на хосте, на котором выполняется этот модуль.
- nssm >= 2.24.0 # (установка через chocolatey.chocolatey.win_chocolatey)
win_chocolatey: name=nssm
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| app_environment словарь добавлен в 1.2.0 community.windows | Ключ/значение, которые будут добавлены в среду приложения службы. | |
| app_parameters строка | Строка, представляющая словарь параметров, которые будут переданы приложению при запуске. УСТАРЕЛО с версии v2.8, используйте вместо этого arguments. Исключительно с arguments. | |
| app_rotate_bytes целое число | Значение по умолчанию: 104858 | NSSM не будет перенаправлять файлы, размер которых меньше заданного значения байтов. |
| app_rotate_online целое число |
0 | Если установлено в 1, nssm может перенаправлять файлы, размер которых достиг заданного лимита, в то время как служба работает. |
| app_stop_method_console целое число | Время ожидания после отправки Control-C. | |
| app_stop_method_skip целое число |
| Чтобы отключить методы завершения службы, задайте сумму одного или нескольких чисел 1 — Не отправлять Control-C в консоль. 2 — Не отправлять WM_CLOSE в Windows. 4 — Не отправлять WM_QUIT в потоки. 8 — Не вызывать TerminateProcess(). |
| application путь | Исполняемый файл приложения, который будет запущен как служба Требуется, когда state — present, started, stopped, или restarted. | |
| arguments строка | Параметры, которые будут переданы приложению при запуске. Это может быть простая строка или список. Исключительно с app_parameters. псевдонимы: app_parameters_free_form | |
| dependencies список / элементы=строка | Зависимости службы, которые должны быть запущены для запуска, разделены запятыми. УСТАРЕЛО, будет удалено в основной версии после 2021-07-01, используйте вместо него модуль ansible.windows.win_service. | |
| description строка | Описание, которое нужно установить для службы. | |
| display_name строка | Имя для отображения, которое нужно установить для службы. | |
| executable путь | Значение по умолчанию: "nssm.exe" | Расположение утилиты NSSM (если она не находится в вашей переменной среды PATH). |
| name строка / обязательно | Имя службы, над которой нужно выполнить операцию. | |
| password строка | Пароль, который нужно использовать для запуска службы. УСТАРЕЛО, будет удалено в основной версии после 2021-07-01, используйте вместо него модуль ansible.windows.win_service. | |
| start_mode строка |
| Если выбран auto, служба будет запускаться при загрузке.delayed приводит к отложенному, но автоматическому запуску после загрузки.manual означает, что служба будет запущена только тогда, когда ей потребуется другая служба.disabled означает, что служба останется выключенной, независимо от того, нужна она или нет.УСТАРЕЛО, будет удалено в основной версии после 2021-07-01, используйте вместо него модуль ansible.windows.win_service. |
| state строка |
| Состояние службы в системе. Значения started, stopped, и restarted устарели и будут удалены в основной версии после 2021-07-01. Используйте вместо него модуль ansible.windows.win_service для запуска, остановки или перезапуска службы. |
| stderr_file путь | Путь для получения выходных данных об ошибках. | |
| stdout_file путь | Путь для получения выходных данных. | |
| user строка | Пользователь, который будет использоваться для запуска службы. УСТАРЕЛО, будет удалено в основной версии после 2021-07-01, используйте вместо него модуль ansible.windows.win_service. | |
| working_directory путь | Рабочая папка для запуска исполняемого файла службы (по умолчанию — папка, содержащая исполняемый файл приложения) псевдонимы: app_directory, chdir |
Примечания
Примечание
- Служба НЕ будет запущена после создания, если
state=present. - После создания службы вы можете использовать модуль ansible.windows.win_service, чтобы запустить её или настроить дополнительные свойства, такие как тип запуска, зависимости, учётная запись службы и так далее.
См. также
См. также
- ansible.windows.win_service
-
Официальная документация модуля ansible.windows.win_service.
Примеры
- name: Install the foo service
community.windows.win_nssm:
name: foo
application: C:\windows\foo.exe
# This will yield the following command: C:\windows\foo.exe bar "true"
- name: Install the Consul service with a list of parameters
community.windows.win_nssm:
name: Consul
application: C:\consul\consul.exe
arguments:
- agent
- -config-dir=C:\consul\config
# This is strictly equivalent to the previous example
- name: Install the Consul service with an arbitrary string of parameters
community.windows.win_nssm:
name: Consul
application: C:\consul\consul.exe
arguments: agent -config-dir=C:\consul\config
# Install the foo service, and then configure and start it with win_service
- name: Install the foo service, redirecting stdout and stderr to the same file
community.windows.win_nssm:
name: foo
application: C:\windows\foo.exe
stdout_file: C:\windows\foo.log
stderr_file: C:\windows\foo.log
- name: Configure and start the foo service using win_service
ansible.windows.win_service:
name: foo
dependencies: [ adf, tcpip ]
username: foouser
password: secret
start_mode: manual
state: started
- name: Install a script based service and define custom environment variables
community.windows.win_nssm:
name: <ServiceName>
application: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
arguments:
- <path-to-script>
- <script arg>
app_environment:
AUTH_TOKEN: <token value>
SERVER_URL: https://example.com
PATH: "<path-prepends>;{{ ansible_env.PATH }};<path-appends>"
- name: Remove the foo service
community.windows.win_nssm:
name: foo
state: absent
Авторы
- Adam Keech (@smadam813)
- George Frank (@georgefrank)
- Hans-Joachim Kliemeck (@h0nIg)
- Michael Wild (@themiwi)
- Kevin Subileau (@ksubileau)
- Shachaf Goldstein (@Shachaf92)
© 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/community/windows/win_nssm_module.html