systemd
用途:控制遠程主機的 systemd
服務
官方文檔
[root@ansible ansible]# ansible-doc systemd
> SYSTEMD (/usr/lib/python2.7/site-packages/ansible-2.8.0.dev0-py2.7.egg/ansible/modules/sy
Controls systemd services on remote hosts.
* This module is maintained by The Ansible Core Team
OPTIONS (= is mandatory):
- daemon_reexec
run daemon_reexec command before doing any other operations, the
systemd manager will serialize the manager state.
(Aliases: daemon-reexec)[Default: no]
type: bool
version_added: 2.8
- daemon_reload
run daemon-reload before doing any other operations, to make sure
systemd has read any changes.
(Aliases: daemon-reload)[Default: no]
type: bool
- enabled
Whether the service should start on boot. *At least one of state
and enabled are required.*
[Default: (null)]
type: bool
- force
Whether to override existing symlinks.
[Default: (null)]
type: bool
version_added: 2.6
- masked
Whether the unit should be masked or not, a masked unit is
impossible to start.
[Default: (null)]
type: bool
- name
Name of the service. When using in a chroot environment you always
need to specify the full name i.e. (crond.service).
(Aliases: service, unit)[Default: (null)]
- no_block
Do not synchronously wait for the requested operation to finish.
Enqueued job will continue without Ansible blocking on its
completion.
[Default: no]
type: bool
version_added: 2.3
- scope
run systemctl within a given service manager scope, either as the
default system scope (system), the current user's scope (user), or
the scope of all users (global).
(Choices: system, user, global)[Default: system]
version_added: 2.7
- state
`started'/`stopped' are idempotent actions that will not run
commands unless necessary. `restarted' will always bounce the
service. `reloaded' will always reload.
(Choices: reloaded, restarted, started, stopped)[Default: (null)]
- user
(deprecated) run ``systemctl`` talking to the service manager of
the calling user, rather than the service manager of the system.
This option is deprecated and will eventually be removed in 2.11.
The ``scope`` option should be used instead.
[Default: no]
type: bool
NOTES:
* Since 2.4, one of the following options is required 'state',
'enabled', 'masked', 'daemon_reload', and all except
'daemon_reload' also require 'name'.
* Before 2.4 you always required 'name'.
REQUIREMENTS: A system managed by systemd.
AUTHOR: Ansible Core Team
METADATA:
status:
- stableinterface
supported_by: core
EXAMPLES:
- 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 conf
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
RETURN VALUES:
status:
description: A dictionary with the key=value pairs returned from `systemctl show`
returned: success
type: complex
contains: {
"ActiveEnterTimestamp": "Sun 2016-05-15 18:28:49 EDT",
"ActiveEnterTimestampMonotonic": "8135942",
"ActiveExitTimestampMonotonic": "0",
"ActiveState": "active",
"After": "auditd.service systemd-user-sessions.service time-sync.target systemd-jo
"AllowIsolate": "no",
"Before": "shutdown.target multi-user.target",
"BlockIOAccounting": "no",
"BlockIOWeight": "1000",
"CPUAccounting": "no",
"CPUSchedulingPolicy": "0",
"CPUSchedulingPriority": "0",
"CPUSchedulingResetOnFork": "no",
"CPUShares": "1024",
"CanIsolate": "no",
"CanReload": "yes",
"CanStart": "yes",
"CanStop": "yes",
"CapabilityBoundingSet": "18446744073709551615",
"ConditionResult": "yes",
"ConditionTimestamp": "Sun 2016-05-15 18:28:49 EDT",
"ConditionTimestampMonotonic": "7902742",
"Conflicts": "shutdown.target",
"ControlGroup": "/system.slice/crond.service",
"ControlPID": "0",
"DefaultDependencies": "yes",
"Delegate": "no",
"Description": "Command Scheduler",
"DevicePolicy": "auto",
"EnvironmentFile": "/etc/sysconfig/crond (ignore_errors=no)",
"ExecMainCode": "0",
"ExecMainExitTimestampMonotonic": "0",
"ExecMainPID": "595",
"ExecMainStartTimestamp": "Sun 2016-05-15 18:28:49 EDT",
"ExecMainStartTimestampMonotonic": "8134990",
"ExecMainStatus": "0",
"ExecReload": "{ path=/bin/kill ; argv[]=/bin/kill -HUP $MAINPID ; ignore_errors=n
"ExecStart": "{ path=/usr/sbin/crond ; argv[]=/usr/sbin/crond -n $CRONDARGS ; igno
"FragmentPath": "/usr/lib/systemd/system/crond.service",
"GuessMainPID": "yes",
"IOScheduling": "0",
"Id": "crond.service",
"IgnoreOnIsolate": "no",
"IgnoreOnSnapshot": "no",
"IgnoreSIGPIPE": "yes",
"InactiveEnterTimestampMonotonic": "0",
"InactiveExitTimestamp": "Sun 2016-05-15 18:28:49 EDT",
"InactiveExitTimestampMonotonic": "8135942",
"JobTimeoutUSec": "0",
"KillMode": "process",
"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": "loaded",
"MainPID": "595",
"MemoryAccounting": "no",
"MemoryLimit": "18446744073709551615",
"MountFlags": "0",
"Names": "crond.service",
"NeedDaemonReload": "no",
"Nice": "0",
"NoNewPrivileges": "no",
"NonBlocking": "no",
"NotifyAccess": "none",
"OOMScoreAdjust": "0",
"OnFailureIsolate": "no",
"PermissionsStartOnly": "no",
"PrivateNetwork": "no",
"PrivateTmp": "no",
"RefuseManualStart": "no",
"RefuseManualStop": "no",
"RemainAfterExit": "no",
"Requires": "basic.target",
"Restart": "no",
"RestartUSec": "100ms",
"Result": "success",
"RootDirectoryStartOnly": "no",
"SameProcessGroup": "no",
"SecureBits": "0",
"SendSIGHUP": "no",
"SendSIGKILL": "yes",
"Slice": "system.slice",
"StandardError": "inherit",
"StandardInput": "null",
"StandardOutput": "journal",
"StartLimitAction": "none",
"StartLimitBurst": "5",
"StartLimitInterval": "10000000",
"StatusErrno": "0",
"StopWhenUnneeded": "no",
"SubState": "running",
"SyslogLevelPrefix": "yes",
"SyslogPriority": "30",
"TTYReset": "no",
"TTYVHangup": "no",
"TTYVTDisallocate": "no",
"TimeoutStartUSec": "1min 30s",
"TimeoutStopUSec": "1min 30s",
"TimerSlackNSec": "50000",
"Transient": "no",
"Type": "simple",
"UMask": "0022",
"UnitFileState": "enabled",
"WantedBy": "multi-user.target",
"Wants": "system.slice",
"WatchdogTimestampMonotonic": "0",
"WatchdogUSec": "0",
}
參數解釋
-
daemon_reexec
別名:daemon-reexec
默認值:no
類型:bool -
daemon_reload
別名:daemon-reload
默認值:no
類型:bool -
enabled
默認值:null
類型:bool
服務是否開機啟動 -
force
默認值:null
類型:bool
是否覆蓋已存在的鏈接 -
masked
默認值:null
類型:bool -
name
別名:service,unit
默認值:null -
no_block
-
scope
-
state
-
user
已被啟用