ansible批量筛选出指定操作系统的主机列表

查看主机操作系统的shell脚本getOS.sh

bash 复制代码
#!/bin/bash

# 获取操作系统信息
os_info=$(hostnamectl | grep 'Operating System' | awk -F ':' '{print $NF}')

# 检查是否包含"centos"
if echo "$os_info" | grep -E '*centos*' > /dev/null; then
    # 打印主机IP
    echo "主机IP:$(hostname -I | awk '{print $1}')"
fi

编辑hosts文件,保存待查看的主机列表

bash 复制代码
[sc] 
10.1.1.[1:100] ansible_ssh_user=主机用户 ansible_ssh_pass=主机用户密码

用ansible进行传输脚本和执行

bash 复制代码
传输到各台主机
ansible -i ./hosts all -m copy -a "src=/etc/ansible/scripts/getOS.sh dest=/tmp"

执行脚本
ansible -i ./hosts all -m shell -a "sh /tmp/getOS.sh" >all.txt

cat all.txt|grep "主机"
相关推荐
.柒宇.2 天前
RedHat10-Ansible部署Docker操作
docker·eureka·ansible
道清茗9 天前
【RH294知识点汇总】第 7 章 《 使用角色和 Ansible 内容集合简化 Playbook 》常见问题
ansible
何中应10 天前
Ansible安装&使用
运维·自动化·ansible·运维开发·自动化运维
王九思11 天前
Ansible 自动化运维基础—模板
运维·自动化·ansible
道清茗12 天前
【RH294知识点汇总】第 7 章 《 使用角色和 Ansible 内容集合简化 Playbook 》
java·前端·ansible
切糕师学AI12 天前
深入解析 Ansible:从入门到实践
ansible
王的宝库12 天前
【Ansible】变量与敏感数据管理:Vault 加密 + Facts 采集详解
笔记·学习·ansible
张32313 天前
Ansible拆分大型Playbook
linux·ansible
爱莉希雅&&&14 天前
Ansible+Docker案例(含ansible配置安装docker)
linux·运维·mysql·nginx·docker·容器·ansible
张32314 天前
配置加载混淆(vars_files与from_yaml)
ansible