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 "主机"
相关推荐
henry1010102 天前
Ansible自动化运维全攻略(AI生成)
linux·运维·python·ansible·devops
only_Klein6 天前
Ansible变量详解
运维·自动化·ansible
only_Klein6 天前
Ansible Roles 详解
自动化·ansible·role
only_Klein6 天前
Ansible 条件判断与流程控制详解
自动化·ansible
axPpcfNN7 天前
可直接编译运行 c#解析dxf可读取圆直线弧多段线源码-无封装缩放拖拽 可读取坐标信息 支持多...
ansible
Maggie_ssss_supp8 天前
Linux-ansible自动化运维
运维·自动化·ansible
迎仔8 天前
10-算力中心运维三剑客:Ansible + Jenkins + K8s 高效实战
运维·kubernetes·ansible·jenkins
识途老码9 天前
25.ansible的hostname模块
ansible·hostname
Cloud Traveler13 天前
Ansible+cpolar:NAS 远程自动化运维方案
ansible
陈桴浮海13 天前
【Linux&Ansible】学习笔记合集七
linux·学习·ansible