systemd – Управление службами
Синопсис
- Управляет службами systemd на удалённых хостах.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- Система, управляемая systemd.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| daemon_reexec boolean добавлено в 2.8 |
| Выполнить команду daemon_reexec перед выполнением других операций, менеджер systemd сериализует состояние менеджера. псевдонимы: daemon-reexec |
| daemon_reload boolean |
| Выполнить daemon-reload перед выполнением других операций, чтобы убедиться, что systemd прочитал все изменения. При установке в yes, выполняет daemon-reload, даже если модуль не запускает или останавливает ничего.псевдонимы: daemon-reload |
| enabled boolean |
| Указывает, должна ли служба запускаться при загрузке. Требуется по крайней мере одно из значений state и enabled.
|
| force boolean добавлено в 2.6 |
| Указывает, нужно ли перезаписать существующие символические ссылки. |
| masked boolean |
| Указывает, должна ли единица быть замаскирована, замаскированная единица не может быть запущена. |
| name - | Имя службы. Этот параметр принимает имя ровно одной службы для работы. При использовании в среде chroot, всегда необходимо указать полное имя, например (crond.service). псевдонимы: service, unit | |
| no_block boolean |
| Не ожидать синхронно завершения запрошенной операции. Запущенная задача будет продолжена без блокировки Ansible на её завершение. |
| scope - добавлено в 2.7 |
| выполнить systemctl в указанном контексте менеджера службы, либо в стандартном контексте системы (система), контексте текущего пользователя (пользователь), или во всём глобальном контексте (глобально). Для работы systemd с 'пользователем', выполняющий пользователь должен иметь свой экземпляр dbus (требование systemd). Процесс dbus пользователя обычно запускается во время обычного входа в систему, но не во время выполнения задач Ansible. В противном случае, вы, вероятно, получите ошибку «Не удалось подключиться к шине: такого файла или каталога не существует». |
| state - |
| started/stopped — это идемпотентные действия, которые не будут запускать команды, если это не необходимо. restarted всегда перезапустит службу. reloaded всегда перезагрузит. |
| user boolean |
| (устарело) запустить ``systemctl``, обращаясь к менеджеру службы вызывающего пользователя, а не менеджеру службы системы. Этот параметр устарел и в конечном итоге будет удален в версии 2.11. Вместо этого следует использовать параметр ``scope``. |
Примечания
Примечание
- Начиная с версии 2.4, требуется один из следующих параметров: «состояние», «enabled», «masked», «daemon_reload», («daemon_reexec» начиная с 2.8), и все, кроме «daemon_reload» (и «daemon_reexec» начиная с 2.8), также требуют «имя».
- Перед версией 2.4 всегда требовалось «имя».
- Шаблоны не поддерживаются в имени, т.е
postgres*.service.
Примеры
- name: Make sure a service is running
systemd:
state: started
name: httpd
- name: stop service cron on debian, if running
systemd:
name: cron
state: stopped
- name: restart service cron on centos, in all cases, also issue daemon-reload to pick up config changes
systemd:
state: restarted
daemon_reload: yes
name: crond
- name: reload service httpd, in all cases
systemd:
name: httpd
state: reloaded
- name: enable service httpd and ensure it is not masked
systemd:
name: httpd
enabled: yes
masked: no
- name: enable a timer for dnf-automatic
systemd:
name: dnf-automatic.timer
state: started
enabled: yes
- name: just force systemd to reread configs (2.4 and above)
systemd:
daemon_reload: yes
- name: just force systemd to re-execute itself (2.8 and above)
systemd:
daemon_reexec: yes
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращено | Описание |
|---|---|---|
| status complex | успех | Словарь с парами ключ-значение, возвращаемыми из `systemctl show` Пример: {'ActiveEnterTimestamp': 'Вс 2016-05-15 18:28:49 EDT', 'ActiveEnterTimestampMonotonic': '8135942', 'ActiveExitTimestampMonotonic': '0', 'ActiveState': 'активный', 'After': 'auditd.service systemd-user-sessions.service time-sync.target systemd-journald.socket basic.target system.slice', 'AllowIsolate': 'нет', 'Before': 'shutdown.target multi-user.target', 'BlockIOAccounting': 'нет', 'BlockIOWeight': '1000', 'CPUAccounting': 'нет', 'CPUSchedulingPolicy': '0', 'CPUSchedulingPriority': '0', 'CPUSchedulingResetOnFork': 'нет', 'CPUShares': '1024', 'CanIsolate': 'нет', 'CanReload': 'да', 'CanStart': 'да', 'CanStop': 'да', 'CapabilityBoundingSet': '18446744073709551615', 'ConditionResult': 'да', 'ConditionTimestamp': 'Вс 2016-05-15 18:28:49 EDT', 'ConditionTimestampMonotonic': '7902742', 'Conflicts': 'shutdown.target', 'ControlGroup': '/system.slice/crond.service', 'ControlPID': '0', 'DefaultDependencies': 'да', 'Delegate': 'нет', 'Description': 'Планировщик команд', 'DevicePolicy': 'авто', 'EnvironmentFile': '/etc/sysconfig/crond (ignore_errors=нет)', 'ExecMainCode': '0', 'ExecMainExitTimestampMonotonic': '0', 'ExecMainPID': '595', 'ExecMainStartTimestamp': 'Вс 2016-05-15 18:28:49 EDT', 'ExecMainStartTimestampMonotonic': '8134990', 'ExecMainStatus': '0', 'ExecReload': '{ path=/bin/kill ; argv[]=/bin/kill -HUP $MAINPID ; ignore_errors=нет ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }', 'ExecStart': '{ path=/usr/sbin/crond ; argv[]=/usr/sbin/crond -n $CRONDARGS ; ignore_errors=нет ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }', 'FragmentPath': '/usr/lib/systemd/system/crond.service', 'GuessMainPID': 'да', 'IOScheduling': '0', 'Id': 'crond.service', 'IgnoreOnIsolate': 'нет', 'IgnoreOnSnapshot': 'нет', 'IgnoreSIGPIPE': 'да', 'InactiveEnterTimestampMonotonic': '0', 'InactiveExitTimestamp': 'Вс 2016-05-15 18:28:49 EDT', 'InactiveExitTimestampMonotonic': '8135942', 'JobTimeoutUSec': '0', 'KillMode': 'процесс', 'KillSignal': '15', 'LimitAS': '18446744073709551615', 'LimitCORE': '18446744073709551615', 'LimitCPU': '18446744073709551615', 'LimitDATA': '18446744073709551615', 'LimitFSIZE': '18446744073709551615', 'LimitLOCKS': '18446744073709551615', 'LimitMEMLOCK': '65536', 'LimitMSGQUEUE': '819200', 'LimitNICE': '0', 'LimitNOFILE': '4096', 'LimitNPROC': '3902', 'LimitRSS': '18446744073709551615', 'LimitRTPRIO': '0', 'LimitRTTIME': '18446744073709551615', 'LimitSIGPENDING': '3902', 'LimitSTACK': '18446744073709551615', 'LoadState': 'загружен', 'MainPID': '595', 'MemoryAccounting': 'нет', 'MemoryLimit': '18446744073709551615', 'MountFlags': '0', 'Names': 'crond.service', 'NeedDaemonReload': 'нет', 'Nice': '0', 'NoNewPrivileges': 'нет', 'NonBlocking': 'нет', 'NotifyAccess': 'ничего', 'OOMScoreAdjust': '0', 'OnFailureIsolate': 'нет', 'PermissionsStartOnly': 'нет', 'PrivateNetwork': 'нет', 'PrivateTmp': 'нет', 'RefuseManualStart': 'нет', 'RefuseManualStop': 'нет', 'RemainAfterExit': 'нет', 'Requires': 'basic.target', 'Restart': 'нет', 'RestartUSec': '100мс', 'Result': 'успех', 'RootDirectoryStartOnly': 'нет', 'SameProcessGroup': 'нет', 'SecureBits': '0', 'SendSIGHUP': 'нет', 'SendSIGKILL': 'да', 'Slice': 'system.slice', 'StandardError': 'унаследовать', 'StandardInput': 'null', 'StandardOutput': 'журнал', 'StartLimitAction': 'ничего', 'StartLimitBurst': '5', 'StartLimitInterval': '10000000', 'StatusErrno': '0', 'StopWhenUnneeded': 'нет', 'SubState': 'запущен', 'SyslogLevelPrefix': 'да', 'SyslogPriority': '30', 'TTYReset': 'нет', 'TTYVHangup': 'нет', 'TTYVTDisallocate': 'нет', 'TimeoutStartUSec': '1 минута 30 секунд', 'TimeoutStopUSec': '1 минута 30 секунд', 'TimerSlackNSec': '50000', 'Transient': 'нет', 'Type': 'простое', 'UMask': '0022', 'UnitFileState': 'enabled', 'WantedBy': 'multi-user.target', 'Wants': 'system.slice', 'WatchdogTimestampMonotonic': '0', 'WatchdogUSec': '0'} |
Статус
- Этот модуль гарантированно будет поддерживать обратную совместимость с будущими изменениями. [stableinterface]
- Этот модуль поддерживается командой разработчиков Ansible. [core]
Поддержка Red Hat
Дополнительная информация о поддержке этого модуля компанией Red Hat доступна в этой статье базы знаний Red Hat.
Авторы
- Команда разработчиков 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.9/modules/systemd_module.html