Ansible——service模块

目录

参数总结

语法示例

[1. 启动服务](#1. 启动服务)

[2. 停止服务](#2. 停止服务)

[3. 重启服务](#3. 重启服务)

[4. 重新加载服务](#4. 重新加载服务)

[5. 启用服务](#5. 启用服务)

[6. 禁用服务](#6. 禁用服务)

[7. 使用定时启动选项](#7. 使用定时启动选项)

[8. 查询帮助信息](#8. 查询帮助信息)

Playbook示例

[1. 启动服务](#1. 启动服务)

[2. 停止服务](#2. 停止服务)

[3. 重启服务](#3. 重启服务)

[4. 重新加载服务](#4. 重新加载服务)

[5. 启用服务](#5. 启用服务)

[6. 禁用服务](#6. 禁用服务)


service 模块是 Ansible 用于管理服务状态的模块。它可以用来启动、停止、重新启动和启用(或禁用)系统服务。下面是一些常见操作和示例,展示如何使用 service 模块在 Ansible Playbook 中管理服务。

参数总结

  1. name:

    • 描述:要管理的服务的名称。
    • 类型:字符串
    • 必需:是
  2. state:

    • 描述:服务的目标状态。
    • 可选值:
      • started:启动服务
      • stopped:停止服务
      • restarted:重启服务
      • reloaded:重新加载服务
    • 类型:字符串
  3. enabled:

    • 描述:是否在引导时启用或禁用服务。
    • 类型:布尔值
    • 可选值:yesno
  4. runlevel:

    • 描述:指定在某些运行级别下启用或禁用服务。
    • 类型:字符串
    • 示例:2,3,4,5
  5. sleep:

    • 描述:在启动或停止服务后等待的时间(秒)。
    • 类型:整数
    • 默认值:0
  6. arguments:

    • 描述:传递给服务管理工具的额外参数。
    • 类型:字符串
  7. pattern:

    • 描述:如果使用了 init.d 脚本并且该服务有多个实例正在运行,使用此正则表达式模式来匹配正确的进程。
    • 类型:字符串

语法示例

1. 启动服务

启动服务 nginx

bash 复制代码
ansible all -m service -a "name=nginx state=started"
2. 停止服务

停止服务 nginx

bash 复制代码
ansible all -m service -a "name=nginx state=stopped"
3. 重启服务

重启服务 nginx

bash 复制代码
ansible all -m service -a "name=nginx state=restarted"
4. 重新加载服务

重新加载服务 nginx

bash 复制代码
ansible all -m service -a "name=nginx state=reloaded"
5. 启用服务

在系统启动时启用 nginx 服务:

bash 复制代码
ansible all -m service -a "name=nginx enabled=yes"
6. 禁用服务

在系统启动时禁用 nginx 服务:

bash 复制代码
ansible all -m service -a "name=nginx enabled=no"
7. 使用定时启动选项

确保服务在系统启动时启用:

复制代码
ansible all -m service -a "name=nginx enabled=yes state=started"
8. 查询帮助信息

要获取 service 模块的所有选项和参数,可以使用以下命令查看详细帮助:

复制代码
ansible-doc -s service

Playbook示例

1. 启动服务

启动服务 nginx

复制代码
---
- name: Start Nginx Service
  hosts: all
  tasks:
    - name: Ensure nginx service is started
      service:
        name: nginx
        state: started
2. 停止服务

停止服务 nginx

复制代码
---
- name: Stop Nginx Service
  hosts: all
  tasks:
    - name: Ensure nginx service is stopped
      service:
        name: nginx
        state: stopped
3. 重启服务

重启服务 nginx

复制代码
---
- name: Restart Nginx Service
  hosts: all
  tasks:
    - name: Ensure nginx service is restarted
      service:
        name: nginx
        state: restarted
4. 重新加载服务

重新加载服务 nginx

复制代码
---
- name: Reload Nginx Service
  hosts: all
  tasks:
    - name: Ensure nginx service is reloaded
      service:
        name: nginx
        state: reloaded
5. 启用服务

在系统启动时启用 nginx 服务:

复制代码
---
- name: Enable Nginx Service
  hosts: all
  tasks:
    - name: Ensure nginx service is enabled on boot
      service:
        name: nginx
        enabled: yes
6. 禁用服务

在系统启动时禁用 nginx 服务:

复制代码
---
- name: Disable Nginx Service
  hosts: all
  tasks:
    - name: Ensure nginx service is disabled on boot
      service:
        name: nginx
        enabled: no
相关推荐
小猫挖掘机(绝版)20 小时前
通过tailscale实现一台电脑上vscode通过ssh连接另一台电脑上的VMware Linux 虚拟机
linux·windows·vscode·ubuntu·ssh
ajassi200021 小时前
开源 C++ QT Widget 开发(十三)IPC通讯--本地套接字 (Local Socket)
linux·c++·qt·开源
方先森有点懒21 小时前
CentOS 7.2 虚机 ssh 登录报错在重启后无法进入系统
linux·运维·centos·ssh
shylyly_21 小时前
Linux->日志的实现
linux·运维·服务器
想成为大佬的每一天1 天前
Linux:NTP服务
linux·网络
AI视觉网奇1 天前
麒麟系统 doc转pdf
linux·运维·pdf
1candobetter1 天前
软考中级习题与解答——第三章_操作系统(1)
linux·运维·服务器
淮北4941 天前
计算机网络学习(六、应用层)
linux·学习·计算机网络
lew-yu1 天前
【已解决】Linux中程序脚本可以手动执行成功,但加在rc.local中不能开机自启
linux·服务器
ajassi20001 天前
linux C 语言开发 (四) linux系统常用命令
linux·运维·服务器