ansible.builtin.systemd_service 模块 - 管理 systemd 单位
注意
此模块是 ansible-core
的一部分,包含在所有 Ansible 安装中。 在大多数情况下,即使不指定 collections 关键字,您也可以使用简短的模块名称 systemd_service
。 但是,我们建议您使用 完全限定的集合名称 (FQCN) ansible.builtin.systemd_service
,以便轻松链接到模块文档并避免与可能具有相同模块名称的其他集合发生冲突。
概要
控制远程主机上的 systemd 单位(服务、计时器等)。
ansible.builtin.systemd 重命名为 ansible.builtin.systemd_service 以更好地反映模块的范围。 ansible.builtin.systemd 作为别名保留以实现向后兼容性。
别名:systemd
要求
以下要求是执行此模块的主机所需的。
由 systemd 管理的系统。
参数
参数 |
注释 |
---|---|
在执行任何其他操作之前运行 daemon_reexec 命令,systemd 管理器将序列化管理器状态。 选择
|
|
在执行任何其他操作之前运行 当设置为 选择
|
|
是否覆盖现有符号链接。 选择
|
|
单位的名称。 此参数采用要使用的单个单位的名称。 当没有给出扩展名时,它隐含为 在 chroot 环境中使用时,您始终需要使用扩展名指定单位的名称。 例如, |
|
不要同步等待请求的操作完成。 入队作业将继续,而 Ansible 不会阻塞其完成。 选择
|
|
在给定的服务管理器范围内运行 对于 systemd 使用 用户 dbus 进程通常在正常登录期间启动,但在运行 Ansible 任务期间不会启动。 否则,您可能会收到“无法连接到总线:没有此类文件或目录”错误。 用户必须具有访问权限,通常通过设置 选择
|
|
如果设置,需要 选择
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持:完全 |
可以在 check_mode 下运行并返回已更改状态预测,而不会修改目标,如果不支持,则操作将被跳过。 |
|
支持:无 |
将在差异模式下返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息 |
|
平台: posix |
可以对其执行操作的目标操作系统/系列 |
备注
示例
- name: Make sure a service unit is running
ansible.builtin.systemd_service:
state: started
name: httpd
- name: Stop service cron on debian, if running
ansible.builtin.systemd_service:
name: cron
state: stopped
- name: Restart service cron on centos, in all cases, also issue daemon-reload to pick up config changes
ansible.builtin.systemd_service:
state: restarted
daemon_reload: true
name: crond
- name: Reload service httpd, in all cases
ansible.builtin.systemd_service:
name: httpd.service
state: reloaded
- name: Enable service httpd and ensure it is not masked
ansible.builtin.systemd_service:
name: httpd
enabled: true
masked: no
- name: Enable a timer unit for dnf-automatic
ansible.builtin.systemd_service:
name: dnf-automatic.timer
state: started
enabled: true
- name: Just force systemd to reread configs (2.4 and above)
ansible.builtin.systemd_service:
daemon_reload: true
- name: Just force systemd to re-execute itself (2.8 and above)
ansible.builtin.systemd_service:
daemon_reexec: true
- name: Run a user service when XDG_RUNTIME_DIR is not set on remote login
ansible.builtin.systemd_service:
name: myservice
state: started
scope: user
environment:
XDG_RUNTIME_DIR: "/run/user/{{ myuid }}"
返回值
常见返回值已在 此处 文档化,以下是此模块特有的字段
键 |
描述 |
---|---|
包含 已返回:成功 示例: |