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 "主机"
相关推荐
孪生质数-7 天前
Ansible基础入门
服务器·自动化·ansible·openstack
Empty_7778 天前
Ansible变量
服务器·github·ansible
哲Zheᗜe༘8 天前
学习Ansible Playbook 核心语法
网络·学习·ansible
凤凰战士芭比Q9 天前
Ansible剧本、变量、判断、循环
ansible
凤凰战士芭比Q9 天前
Ansible(安装、配置文件、命令行、常用模块)
linux·ansible
早睡冠军候选人12 天前
Ansible学习----管理复杂的 Play 和 Playbook 内容
运维·学习·云原生·ansible
雨奔12 天前
ansible使用教程
ansible
凡间客13 天前
Ansible安装与入门
linux·运维·ansible
LoneEon13 天前
告别手动操作:用 Ansible 统一管理你的 Ubuntu 服务器集群
运维·服务器·ansible
Empty_77713 天前
Ansible之Playbook简单应用
网络·ansible