16-Ansible常用模块-service模块

2023-10-27

一、概述

service 模块可以帮助我们管理远程主机上的服务。比如,启动或停止远程主机中的 nginx 服务。

注意:假如想要管理远程主机中的某个服务,那么这个服务必须能被 BSD init, OpenRC, SysV, Solaris SMF, systemd, upstart 中的任意一种所管理,否则 service 模块也无法管理远程主机的对应服务。这样说可能不容易理解,那么我们换个方式来解释,假设你在使用 centos6,那么你的 centos6 中的 nginx 必须能够通过 “service nginx start” 启动,如果你的 nginx 无法通过 “service nginx start” 进行启动,那么它也同样无法通过 ansible 的 service 模块启动。假设你在使用 centos7,那么你的 centos7 中的 nginx 则必须能够通过 “systemctl start nginx” 启动,如果它无法通过 “systemctl start nginx” 进行启动,那么它也同样无法通过 ansible 的 service 模块进行启动。centos6 中默认通过 sysv 管理服务,centos7 中默认通过 systemd 管理服务。所以,如果服务无法通过 BSD init, OpenRC, SysV, Solaris SMF, systemd, upstart 中的任意一种所管理,那么它也无法被ansible 的 service 模块管理。

二、常用参数

name参数:此参数用于指定需要操作的服务名称,比如 nginx。
state参数:此参数用于指定服务的状态,比如,我们想要启动远程主机中的 nginx,则可以将 state 的值设置为 started;如果想要停止远程主机中的服务,则可以将 state 的值设置为 stopped。此参数的可用值有 started、stopped、restarted、reloaded。
enabled参数:此参数用于指定是否将服务设置为开机 启动项,设置为 yes 表示将对应服务设置为开机启动,设置为 no 表示不会开机启动。

三、示例

ansible-demo3 主机已经安装完毕 nginx。

1.将 ansible-demo3 中的 nginx 服务设置为启动状态。

[root@ansible-manager ~]# ansible ansible-demo3 -m service -a "name=nginx state=started"
ansible-demo3 | SUCCESS => {
    "changed": true, 
    "name": "nginx", 
    "state": "started", 
    "status": {
        "ActiveEnterTimestampMonotonic": "0", 
      ......
        "WatchdogUSec": "0"
    }
}

2.将 ansible-demo3 中的 nginx 服务设置为停止状态。

[root@ansible-manager ~]# ansible ansible-demo3 -m service -a "name=nginx state=stopped"
ansible-demo3 | SUCCESS => {
    "changed": true, 
    "name": "nginx", 
    "state": "stopped", 
    "status": {
        "ActiveEnterTimestamp": "Thu 2018-05-17 10:59:02 CST", 
      ......
        "WatchdogUSec": "0"
    }
}

3.将 ansible-demo3 的 nginx 服务被设置为开机自动启动。

[root@ansible-manager ~]# ansible ansible-demo3 -m service -a "name='nginx' enabled=yes"
ansible-demo3 | SUCCESS => {
    "changed": true, 
    "enabled": true, 
    "name": "nginx", 
    "status": {
        "ActiveEnterTimestampMonotonic": "0", 
    ......
        "WatchdogUSec": "0"
    }
}

四、总结

本节介绍了 Ansible 常用模块之 service 模块,并举例说明如何使用,下节我们介绍 user 模块。

这里的命令常用参数介绍及示例,主要摘抄自下面文档内容,有部分改动,在这里对原作者深表感谢!

参考文档:
http://www.zsythink.net/archives/2572

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

16-Ansible常用模块-service模块 的相关文章

  • 创建一个能够从容器注册表中提取的 Docker 就绪计算引擎

    我们使用 terraform 设置 GCE 实例 然后使用 ansible playbooks 来配置它们并将我们的服务转移到机器上 我正在我们的组织中运行一个项目 该项目需要从另一个项目中提取 Docker 映像 这些图像托管在另一个项目
  • 附加到 group_vars 中的 Ansible 字典而不使用 hash_behaviour = merge

    我想定义一个字典变量 各个主机组可以将自己的密钥添加到其中在group vars中 不使用set fact 例如 像这样的东西 group vars ftp servers yml important ports ftp 21 group
  • Ansible 和硬件检查

    我必须使用 ansible 检查 Linux 机器上的不同硬件和配置元素 我完全不确定如何做到这一点 RAM 磁盘空间 DNS CPU 我知道我几乎可以找到我想要的所有事实都在 ansible 中 但我不明白如何使用它 例如 我必须检查 R
  • 如何在 jinja2 中缩进嵌套的 if/for 语句

    我有一个很长的 Jinja2 模板 其中有很多嵌套if for声明 很难读 我想缩进 位 使其更清晰 但是 如果我这样做 这些块的内容也会进一步缩进 我怎样才能缩进just the bits 我正在使用安塞布尔 重现步骤 template
  • 如何更改 ansible_default_ipv4?

    我想将 ansible default ipv4 更改为指向 eth1 而不是 eth0 我可以在剧本中或通过 extra vars 选项来执行此操作吗 ansible 使用命令 https github com ansible ansib
  • 使用 Ansible 将二进制文件添加到 PATH

    我正在尝试安装Kiex https github com taylor kiex版本管理器Elixir http elixir lang org install html使用 Ansible 的编程语言 这些是我为此使用的戏剧 name K
  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • 使用 lineinfile 和 blockinfile 编辑文件还是仅使用模板复制整个文件?

    我开始使用 Ansible 编写一个剧本 为我们的应用程序部署临时环境 我试图了解对文件应用更改的最佳实践是否是在控制计算机上本地更改它们 然后将它们传播到远程服务器 或者是否应该在剧本内操作文件 通过剧本操作文件在可读性和文档方面似乎更好
  • 所有 Ansible playbook 属性

    我刚刚开始使用 Ansible 在阅读了教程 Ansible 团队将其命名为 docs 我想查看可在剧本中使用的所有属性的完整列表 有人能够提供这样的清单吗 我唯一能通过谷歌搜索的是这个老例子 https gist github com m
  • 开发/生产中的 Ansible 服务器/组

    我所处的情况是看不到正确的使用方法 我有多个分配了不同角色的服务器 分布在多个组中 与生产 登台环境相比 我在本地 Vagrant 环境中遇到了一些使用 group vars 的困难 在生产中 有更多的服务器 分配的组更少 在我的 Vagr
  • 无法获得与取消存档模块一起使用的“排除”选项

    我有一个 tar gzip 文件 我正在使用 ansible 取消归档模块将其提取到主机列表中 以下是configs tgz的部分内容列表 rw rw r ian ian 1295 2015 09 25 15 27 Makefile rw
  • 如何使用ansible运行询问用户输入的脚本?

    我想使用 ansible 运行 shell 脚本 但 shell 脚本需要用户输入才能成功执行 例如 我的 shell 脚本询问唯一的 idossec agent 通过ansible我可以预定义我的unique id user input
  • Ansible:如何为Solaris设置全局路径

    我正在编写 Ansible 剧本来在 Solaris 服务器上设置和安装我们的应用程序 问题是我需要执行的 bash 脚本都假设某个目录位于 PATH 上 即 data bin 如果 Ansible 没有忽略所有这些 这通常不会成为问题 p
  • 如何使用ansible扩展Windows路径变量

    使用 win environment 可以向 Windows 主机添加 删除环境变量 但是要修改已经存在的变量 win environment 似乎没有用 因为您无法读取旧值来修改和更新变量 正确的 EDIT 从 Ansible 2 3 开
  • AnsibleError:模板化字符串时出现模板错误:预期标记“:”,得到“}”

    准备模板时出现错误 谁能告诉你如何修复它 如有必要 还可以编辑变量 vars All ountry name1 name2 name1 region1a region1b name2 region2a region2b Code for c
  • 有没有办法验证 Ansible Inventory 文件中组的主机数量?

    我的要求如下所示 我有一个 Ansible 库存文件 它根据如下所示的组件分为几个组 all node1 node2 node3 node4 webapp node3 node4 ui node1 如果条件失败 则有没有办法验证清单文件中组
  • 失败的! => {"changed": false, "msg": "apt 缓存更新失败"} 尝试时

    我是新来的Ansible https en wikipedia org wiki Ansible software 并尝试安装一个任务作为示例Vivaldi https en wikipedia org wiki Vivaldi 28web
  • 如何将主机添加到 Ansible Tower 库存中的组?

    如何使用以下命令将主机添加到组中tower group or tower host模块 以下代码创建一个主机和一个组 但它们彼此无关 hosts localhost connection local gather facts false t
  • Ansible:findall 正则表达式中变量的正确语法是什么

    我使用的是 Ansible 版本 2 9 我想做一个 GET 它返回一个信息块 从该信息中正则表达式一个 ID 该 ID 对应于我目前正在迭代的任何主机 然后使用该 ID 执行操作 我有正则表达式工作 https regex101 com
  • 单个文件中的 Ansible 事实

    我正在尝试使用以下命令使用 ansible 收集服务器清单 ansible all m setup a tree facts 但这会在facts文件夹下为每个主机生成很多单个文件 我希望所有服务器输出在一个唯一的文件中 我注意到内容类似于

随机推荐

  • Mysql查找当前数据库端口

    默认端口为3306 也可以执行以下命令查询 show global variables like port
  • 点云 3D 目标检测 - RangeDet(ICCV 2021)

    点云 3D 目标检测 RangeDet In Defense of Range View for LiDAR based 3D Object Detection 基于LiDAR的3D目标检测的距离视图防御 ICCV 2021 摘要 1 引言
  • 学嵌入式 - 第一天

    一 了解 虚拟机 中的终端 键盘按下 CTRL ALT T 三个键打开终端 加入终端界面我们会看到如下界面 hgj ubuntu 是命令提示符提示你输入命令 hgj 表示的是用户名 是分隔符 ubuntu 是主机名 是分隔符 是当前工作路径
  • BES2300x笔记(0) -- 学习笔记索引

    博文索引 一篇文章带你搞定BES平台 提供全网最全的开发调试笔记和文档下载 持续更新 BES2300x笔记 1 SDK代码架构与Battery模块 BES2300x笔记 2 如何区分左右耳 BES2300x笔记 3 编写自动化编译脚本 BE
  • 操作系统--进程同步

    进程同步 进程同步概念 进程互斥的软件实现方法 单标志法 双标志先检查 双标志后检查 Peterson 算法 进程互斥的硬件实现方法 中断屏蔽方法 TestAndSet指令 Swap指令 信号量机制 整形信号量 记录型信号量 用信号量实现进
  • Vue页面的import

    前提 components文件夹下有translateform和translateoutput两个vue文件 如何把translateform vue中的内容引入到app vue中 在app vue中import translateform
  • 【解决】TypeError: Invalid attempt to destructure non-iterable instance.In order to be iterable, non...

    使用uniapp做APP真机调试时 HbuilderX控制台打印如下错误信息 我出现这样问题的原因是因为虚拟绑定了请求的对象属性 在页面加载的时候由于初始化没有数据就会报以上错误 解决办法 提前写好渲染数据的字段就ok了 templateD
  • UML系统分析和设计:用例图

    用例图 1 概述 1992年jacobson提出了用例的概念和可视化表示方法 用例图 作为软件项目开发和规划的一个基本模型元素 所谓用例是指系统的外部事物 活动者 设备或外部系统 与系统的交互 它表达了系统的功能 即系统所提供的服务 用例图
  • python调用百度智能云API请求(以自然语言处理——词法分析为例)

    调用API的思路 获得api的token 按官方文档发送链接 分析返回的结果 步骤一 获取API的token 如果不知道token是啥 或是不知道怎么获取token 请参考 https blog csdn net weixin 357577
  • 智能合约-ERC20接口方法详解

    官方文档 EIP 20 Token Standard 实现Demo https github com ConsenSys Tokens blob fdf687c69d998266a95f15216b1955a4965a0a6d contra
  • Java调用C语言DLL文件方法

    有时候我们经常要在 JAVA中调用C语言DLL文件 下面我们将用一个例题来向大家介绍 JAVA调用C语言DLL文件的实现方法 一 生成C的头文件 1 编辑Main java public class Main public native s
  • 嘴说手画Spark的存储系统

    Spark本身并不存储数据 这里所说的存储系统是指计算过程中 管理内存中数据 如读到内存的源数据 缓存的RDD数据 广播数据 Shuffle文件数据的功能模块 如果没有存储管理系统 计算是无法完成的 存储系统的主要由以下组件构成 Block
  • 建立时间裕量和保持时间裕量

    前面的博客里面有讲解建立时间Tsetup和保持时间Tholdon的概念以及要满足的和时钟之间的关系 这里不再重复 在了解建立时间裕量和保持时间裕量之前我们先来了解一下触发沿Launch Edges 和锁存沿Latch Edges 一般认为L
  • Redis(四)Redis集群搭建

    Redis集群搭建 pwd命令主要用于打印当前工作目录的工作路径 Keepalived Redis服务器的高可用除了用集群和哨兵模式外 还可以用keepalived Keepalived的作用是检测服务器的状态 如果有一台web服务器宕机
  • shader学习过程3——shader编程语言

    shader language最初是由汇编语言编写 难度高 入门难 现在由三种高级语言可以编写 一 HLSL 基于DirectX的High Level Shading Language 简称HLSL DirectX简称DX 微软的产品 优点
  • stm32--USB(作为U盘)+FatFs的实现

    一 USB功能的添加 作为U盘 添加文件 将官方库中的Library文件夹中的所有有效文件添加到工程中 分为4个文件夹 usb class为硬件相关 Library Class usb driver为底层驱动 Driver usb libr
  • 如何制作多系统启动U盘

    Ventoy简介 简单来说 Ventoy是一个制作可启动U盘的开源工具 并且它有诸多优势 有了Ventoy你就无需反复地格式化U盘 你只需要把 ISO WIM IMG VHD x EFI 等类型的文件直接拷贝到U盘里面就可以启动了 无需其他
  • openssl: error while loading shared libraries: libssl.so.1.1

    在执行openssl version出现如下错误 openssl error while loading shared libraries libssl so 1 1 cannot open shared object file No su
  • HyperLPR车牌识别相关资源整理

    一 HyperLPR使用 源码分析相关资料 1 HyperLPR中文车牌识别 中给出了视频文件的处理方法 可以参考下 因为识别检测本身比较耗时 所以从画面上看 视频文件播放非常慢 这里需要根据上层应用根据自己的需要进行丢帧处理 PlateR
  • 16-Ansible常用模块-service模块

    一 概述 service 模块可以帮助我们管理远程主机上的服务 比如 启动或停止远程主机中的 nginx 服务 注意 假如想要管理远程主机中的某个服务 那么这个服务必须能被 BSD init OpenRC SysV Solaris SMF