You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Ansible剧本或模板仅在特定Linux服务器执行任务

仅在Linux组内a、b前缀服务器执行Ansible任务的方案

有几种可行的实现方式,按需选择:

1. 修改Playbook的hosts参数

直接在playbook里精准指定目标主机,不用依赖外部Limit配置。把原来的hosts: all改成以下写法:

- name: 你的任务名称
  hosts: "Linux:&(a*|b*)"
  tasks:
    - name: 示例任务(替换成你的实际任务)
      debug:
        msg: "仅在a/b前缀的Linux服务器运行"

这里的Linux:&(a*|b*)表示只选中Linux组里主机名以a或b开头的机器,精准匹配需求。如果你的环境里Linux组只有a、b、c三类前缀,也可以用hosts: Linux,!c*(排除c前缀的机器),效果一致。

2. 修改模板的Limit参数

如果不想改动playbook,保持hosts: all,直接修改模板里的Limit配置:

  • 把原来的Limit: Linux改成Limit: Linux:a*:b*,表示仅选中Linux组内主机名匹配a或b的机器
  • 或者改成Limit: Linux,!c*,排除Linux组里c前缀的机器,剩下的就是a、b前缀的目标机器

3. 给Inventory添加子组(适合长期复用)

如果这类筛选是日常常用需求,建议直接在DBone Inventory里创建子组,方便后续复用:
假设你的Inventory是ini格式,添加以下配置:

[Linux_a]
a*

[Linux_b]
b*

[Linux_ab:children]
Linux_a
Linux_b

之后不管是playbook里写hosts: Linux_ab,还是模板Limit设为Linux_ab,都能直接选中目标机器,维护起来更清晰。

内容的提问来源于stack exchange,提问作者Smily

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 13:01:19