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
相关推荐
爱装代码的小瓶子26 分钟前
Linux下的权限与文件
linux·运维·服务器
ggaofeng1 小时前
linux中mount的本质是什么?自己如何实现一个伪文件系统
linux·mount·自己实现伪文件系统
敲上瘾1 小时前
Linux系统C++开发环境搭建工具(二)—— etcd 使用指南
linux·c++·etcd
励志不掉头发的内向程序员1 小时前
【Linux系列】解码 Linux 内存地图:从虚拟到物理的寻宝之旅
linux·运维·服务器·开发语言·学习
woshihonghonga2 小时前
停止Conda开机自动运行方法
linux·人工智能·conda
遇见火星5 小时前
Ubuntu Docker 容器化部署教程
linux·ubuntu·docker
ybb_ymm7 小时前
mysql8在linux下的默认规则修改
linux·运维·数据库·mysql
半梦半醒*7 小时前
zabbix安装
linux·运维·前端·网络·zabbix
武文斌7710 小时前
复习总结最终版:单片机
linux·单片机·嵌入式硬件·学习
驱动探索者10 小时前
贝尔实验室发展史:20世纪科技圣殿的辉煌与沉浮
linux