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 "主机"
相关推荐
杨了个杨898214 小时前
Ansible的常见用法
ansible
陈桴浮海17 小时前
【Linux&Ansible】学习笔记合集三
linux·运维·云原生·ansible
Sheffield2 天前
command和shell模块到底区别在哪?
linux·云计算·ansible
陈桴浮海2 天前
【Linux&Ansible】学习笔记合集二
linux·学习·ansible
馨谙2 天前
Ansible模块化Playbook管理:静态导入与动态包含详解
运维·ansible
馨谙3 天前
Ansible 事实(Facts)全面指南:自动化运维中的主机信息管理
运维·ansible
馨谙3 天前
Ansible处理程序完全指南:实现智能的任务触发机制
运维·ansible
馨谙4 天前
Ansible 多 Play 编写与模块使用全解析
运维·ansible
馨谙4 天前
Ansible 清单详解:静态清单的构建与管理
ansible
馨谙4 天前
Ansible 配置文件详解:让自动化管理更轻松
运维·github·ansible