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 "主机"
相关推荐
开源Linux6 天前
Ansible高频面试题详解:30个问题从入门到精通
ansible
我爱钱因此会努力8 天前
ansible实战-不同的用户登录不同的主机
linux·运维·服务器·ansible
我爱钱因此会努力8 天前
ansible实战- 关机
linux·运维·服务器·centos·自动化·ansible
运维李哥不背锅8 天前
Ansible 模块详解:高效管理你的 IT 基础设施
服务器·网络·ansible
K_i1348 天前
Ansible模块分类与实战应用指南
ansible
我爱钱因此会努力8 天前
ansible自动化运维入门篇
linux·运维·服务器·centos·自动化·ansible
zz-zjx8 天前
Ansible生产调优与故障排查全攻略
ansible
K_i1348 天前
Ansible自动化部署ECS与Nginx全流程
nginx·自动化·ansible
zz-zjx8 天前
生产级 Ansible 部署全流程-nginx示例
ansible
运维李哥不背锅9 天前
Ansible 的变量与模板:实现更灵活的自动化配置
java·自动化·ansible