使用 Ansible 从服务列表中仅启动特定的 systemd 服务

2024-04-05

我有清单systemd服务定义为

vars:
  systemd_scripts: ['a.service', 'b.service', 'c.service']

现在我只想停下来a.service从上面的列表中。如何使用来实现这一点systemd https://docs.ansible.com/ansible/latest/collections/ansible/builtin/systemd_module.html_module?


你的问题非常模糊且不具体。但是,您的部分问题可以通过以下方法得到解答

- name: Loop over service list and stop one service
  systemd:
    name: "{{ item }}"
    state: stopped
  when:
    - systemd_scripts[item] == 'a.service'
  with_items: "{{ systemd_scripts }}"

您可能需要根据您的需要和所需的功能来扩展和更改它。

关于通过 Ansible 事实发现、启动和停止服务 (service_facts https://docs.ansible.com/ansible/latest/collections/ansible/builtin/service_facts_module.html) and systemd你可以看看

进一步阅读

  • Ansible:如何禁用但正在运行的服务? https://stackoverflow.com/a/70376280/6771046
  • 如何声明变量service_facts https://stackoverflow.com/a/69476972/6771046?
  • 如何使用检查服务是否存在并且未安装在服务器中service_factsAnsible 剧本中的模块? https://stackoverflow.com/a/69773111/6771046
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Ansible 从服务列表中仅启动特定的 systemd 服务 的相关文章

  • 使用 Python API 2.0.0.1 运行 Ansible Playbook

    安塞布尔版本 2 0 0 1 我现在已经四处寻找了很多 我发现的大多数文档要么不完整 要么已弃用 这篇文章适用于1 8 4版本 即 https stackoverflow com questions 27590039 running ans
  • 创建一个能够从容器注册表中提取的 Docker 就绪计算引擎

    我们使用 terraform 设置 GCE 实例 然后使用 ansible playbooks 来配置它们并将我们的服务转移到机器上 我正在我们的组织中运行一个项目 该项目需要从另一个项目中提取 Docker 映像 这些图像托管在另一个项目
  • 使用 with_items 连接字符串并分配给 Ansible 中的变量

    启动 ec2 实例时 我需要将两个 2 IP 保存到 vars 文件中的变量中 以便稍后在部署期间使用 这就是我保存单个服务器 IP 的方式 name Save server public IP to vars file lineinfil
  • 使用 Ansible 配置 EC2 实例时遇到问题

    我对如何使用 Ansible 启动 EC2 实例感到非常困惑 我正在尝试使用 ec2 py 库存脚本 我不确定应该使用哪一个 因为 Ansible 安装了三个 ansible lib ansible module utils ec2 py
  • Ansible 和硬件检查

    我必须使用 ansible 检查 Linux 机器上的不同硬件和配置元素 我完全不确定如何做到这一点 RAM 磁盘空间 DNS CPU 我知道我几乎可以找到我想要的所有事实都在 ansible 中 但我不明白如何使用它 例如 我必须检查 R
  • 如何读取/理解目标主机上的ansible日志(由syslog编写)

    当你在某个主机上执行 ansible 时 它 会写入该主机上的 syslog 如下所示 Dec 1 15 00 22 run tools python ansible
  • Ansible bitbucket 克隆存储库配置 ssh 错误

    我之前发布过这个问题 但那里的答案不再有效 总之 当使用 Ansible 配置我的 vagrant box 时 在尝试使用 ssh 克隆我的 bitbucket 私有存储库时 我遇到了一个神秘的错误 该错误指出 权限被拒绝 公钥 然而 如果
  • 如何使用 Ansible 遍历嵌套的 dict 结构?

    我在 ansible 剧本中有以下 dict 结构变量 apache vhosts name foo server name foo com server aliases a foo com b foo com c foo com name
  • 使用 ansible 处理程序滚动重启

    我想运行一个 ansible playbook 它会安装一个服务 如果自上次运行以来发生任何更改 或多或少是 ansible 处理程序的规范用例 则重新启动它 但我想要一个不同的并行性用于安装而不是重新启动 我想一次在所有主机上安装 但是
  • 在 Ansible 中使用模板模块附加文件

    所以我有一个 ansible 剧本 它使用 Jinja2 模板来创建日志文件 每次我运行剧本时 它都会从customers yml中提取客户信息 并将完整的模板输出到 stunnel conf 文件中 该模板工作正常 但我试图找到一种方法来
  • 所有 Ansible playbook 属性

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

    file main yml hosts fotk remote user fakesudo tasks name create a developer user user name user password password shell
  • 模板化字符串时出现模板错误:意外的字符 u - Ansible

    执行剧本以在远程主机中运行命令并使用 shell 传递输出时 出现以下错误 致命 master1 失败 gt MSG 模板化时出现模板错误 字符串 4 处出现意外的字符 u a 字符串 54aa7fda16833bff8358b6bd115
  • 如何从 Ansible 模块获取当前主机名?

    我正在开发自定义 Ansible 模块来控制 Vagrant 控制多个 VM 服务器上的多个 VM 节点 遵循指南https docs ansible com ansible latest dev guide developing modu
  • 无法获得与取消存档模块一起使用的“排除”选项

    我有一个 tar gzip 文件 我正在使用 ansible 取消归档模块将其提取到主机列表中 以下是configs tgz的部分内容列表 rw rw r ian ian 1295 2015 09 25 15 27 Makefile rw
  • 如何在 Ansible 中创建相对符号链接?

    在我的剧本中 我需要为存储库创建符号链接 使用命令 shell 它可能像这样工作 Create symbolic link name Create symbolic link shell ln s SOURCE FOLDER SYMLINK
  • 如何使用 Ansible 设置环境变量

    我需要设置变量 例如JAVA HOME并更新PATH 有多种方法可以做到这一点 一种方法是更新 etc environment变量并包含一行JAVA HOME使用文件行 http docs ansible com ansible linei
  • Ansible - 任务系列 1 逆序

    我想创建两本剧本 一本用于停止环境 另一本用于启动它 环境的一部分是 RabbitMQ 集群 对于其停止 启动顺序非常重要 特别是最后一个停止的节点需要是第一个启动的节点 我想知道是否有一种方法可以指定针对组运行任务的相反顺序 这样我就可以
  • 将变量写入 Ansible 中的文件

    我通过 URI 模块提取 JSON 并希望将接收到的内容写入文件 我能够获取内容并将其输出到调试器 因此我知道已收到内容 但我不知道写入文件的最佳实践 来自的重要评论tmoschou https stackoverflow com user
  • ansible unarchive 模块如何查找 tar 二进制文件?

    我正在尝试执行一个 ansible 剧本 该剧本的任务是利用unarchive模块 因为我是在 OSX 上执行此操作 所以我需要使用它gnu tar 而不是bsd tar通常与 OSX 一起提供 因为BSD tar 不受官方支持 https

随机推荐