nosh – Управление службами с помощью nosh
Новая версия 2.5.
Описание
- Управление состоянием запуска и включения системных или пользовательских служб.
- Поддерживаются системы BSD и Linux.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- Система с активным менеджером служб nosh, см. раздел «Примечания» для получения дополнительной информации.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| enabled boolean |
| Включить или отключить службу независимо от предпочтений файла *.preset или состояния выполнения. Взаимоисключительно с параметром preset. Будет применено до state=reset. |
| name - / обязательно | Имя службы для управления. | |
| preset boolean |
| Включить или отключить службу в соответствии с локальными настройками в файлах *.preset. Взаимоисключительно с параметром enabled. Действует только при установке в значение true. Будет применено до state=reset. |
| state - |
| started/stopped — идемпотентные действия, которые не будут запускать команды, если это не необходимо. restarted всегда перезапустит службу. reloaded отправит SIGHUP или запустит службу. reset запустит или остановит службу в зависимости от того, включена она или нет. |
| user boolean |
| Выполнять системный контроль, взаимодействуя с менеджером служб вызывающего пользователя, а не с системным менеджером служб. |
Примечания
Примечание
- Информация о наборе утилит nosh доступна по адресу https://jdebp.eu/Softwares/nosh/.
Примеры
- name: start dnscache if not running
nosh: name=dnscache state=started
- name: stop mpd, if running
nosh: name=mpd state=stopped
- name: restart unbound or start it if not already running
nosh:
name: unbound
state: restarted
- name: reload fail2ban or start it if not already running
nosh:
name: fail2ban
state: reloaded
- name: disable nsd
nosh: name=nsd enabled=no
- name: for package installers, set nginx running state according to local enable settings, preset and reset
nosh: name=nginx preset=True state=reset
- name: reboot the host if nosh is the system manager, would need a "wait_for*" task at least, not recommended as-is
nosh: name=reboot state=started
- name: using conditionals with the module facts
tasks:
- name: obtain information on tinydns service
nosh: name=tinydns
register: result
- name: fail if service not loaded
fail: msg="The {{ result.name }} service is not loaded"
when: not result.status
- name: fail if service is running
fail: msg="The {{ result.name }} service is running"
when: result.status and result.status['DaemontoolsEncoreState'] == "running"
Значения возврата
Общие значения возврата документированы здесь, ниже приведены поля, уникальные для этого модуля:
| Ключ | Возвращено | Описание | |
|---|---|---|---|
| enabled boolean | успех | является ли служба включенной во время загрузки системы Пример: True | |
| name строка | успех | имя, используемое для поиска службы Пример: sshd | |
| preset boolean | успех | указывает ли состояние включения состояние, установленное в соответствующем файле *.presetПример: False | |
| service_path строка | успех | разрешенный путь к службе Пример: /var/sv/sshd | |
| state строка | если используется параметр состояния | состояние процесса службы, None, если служба не загружена и не будет запущенаПример: reloaded | |
| status сложный | успех | словарь с парами ключ=значение, возвращенными `system-control show-json`, или None, если служба не загружена | |
| After список | успех | Пример: ['/etc/service-bundles/targets/basic', '../sshdgenkeys', 'log'] | |
| Before список | успех | Пример: ['/etc/service-bundles/targets/shutdown'] | |
| Conflicts список | успех | Пример: [] | |
| DaemontoolsEncoreState строка | успех | Пример: running | |
| DaemontoolsState строка | успех | Пример: up | |
| Enabled boolean | успех | Пример: True | |
| LogService строка | успех | Пример: ../cyclog@sshd | |
| MainPID целое число | успех | Пример: 661 | |
| Paused boolean | успех | Пример: False | |
| ReadyAfterRun boolean | успех | Пример: False | |
| RemainAfterExit boolean | успех | Пример: False | |
| Required-By список | успех | Пример: [] | |
| RestartExitStatusCode целое число | успех | Пример: 0 | |
| RestartExitStatusNumber целое число | успех | Пример: 0 | |
| RestartTimestamp целое число | успех | Пример: 4611686019935648081 | |
| RestartUTCTimestamp целое число | успех | Пример: 1508260140 | |
| RunExitStatusCode целое число | успех | Пример: 0 | |
| RunExitStatusNumber целое число | успех | Пример: 0 | |
| RunTimestamp целое число | успех | Пример: 4611686019935648081 | |
| RunUTCTimestamp целое число | успех | Пример: 1508260140 | |
| StartExitStatusCode целое число | успех | Пример: 1 | |
| StartExitStatusNumber целое число | успех | Пример: 0 | |
| StartTimestamp целое число | успех | Пример: 4611686019935648081 | |
| StartUTCTimestamp целое число | успех | Пример: 1508260140 | |
| StopExitStatusCode целое число | успех | Пример: 0 | |
| StopExitStatusNumber целое число | success | Пример: 0 | |
| Stopped-By список | success | Пример: ['/etc/service-bundles/targets/shutdown'] | |
| StopTimestamp целое число | success | Пример: 4611686019935648081 | |
| StopUTCTimestamp целое число | success | Пример: 1508260140 | |
| Timestamp целое число | success | Пример: 4611686019935648081 | |
| UTCTimestamp целое число | success | Пример: 1508260140 | |
| Want строка | success | Пример: nothing | |
| Wanted-By список | success | Пример: ['/etc/service-bundles/targets/server', '/etc/service-bundles/targets/sockets'] | |
| Wants список | success | Пример: ['/etc/service-bundles/targets/basic', '../sshdgenkeys'] | |
| user булево | success | является ли вызываемым менеджер сервисов уровня пользователя | |
Статус
- Данный модуль не гарантирует обратную совместимость интерфейса. [превью]
- Данный модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Thomas Caravia (@tacatac)
Подсказка
Если вы обнаружите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/nosh_module.html