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
相关推荐
lixzest1 小时前
Vim 快捷键速查表
linux·编辑器·vim
ICscholar7 小时前
ExaDigiT/RAPS
linux·服务器·ubuntu·系统架构·运维开发
sim20207 小时前
systemctl isolate graphical.target命令不能随便敲
linux·mysql
米高梅狮子8 小时前
4. Linux 进程调度管理
linux·运维·服务器
再创世纪9 小时前
让USB打印机变网络打印机,秀才USB打印服务器
linux·运维·网络
fengyehongWorld9 小时前
Linux ssh端口转发
linux·ssh
知识分享小能手11 小时前
Ubuntu入门学习教程,从入门到精通, Ubuntu 22.04中的Shell编程详细知识点(含案例代码)(17)
linux·学习·ubuntu
Xの哲學12 小时前
深入解析 Linux systemd: 现代初始化系统的设计与实现
linux·服务器·网络·算法·边缘计算
龙月12 小时前
journalctl命令以及参数详解
linux·运维
EndingCoder13 小时前
TypeScript 的基本类型:数字、字符串和布尔
linux·ubuntu·typescript