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 "主机"
相关推荐
庸子10 小时前
Ansible & AWX 自动化运维
运维·自动化·ansible
孙克旭_6 天前
day051-ansible循环、判断与jinja2模板
linux·运维·服务器·网络·ansible
leo__5209 天前
自动化运维:使用Ansible简化日常任务
运维·自动化·ansible
风清再凯13 天前
自动化工具ansible,以及playbook剧本
运维·自动化·ansible
IT乌鸦坐飞机13 天前
ansible部署数据库服务随机启动并创建用户和设置用户有完全权限
数据库·ansible·centos7
遇见火星1 个月前
如何使用Ansible一键部署MinIO集群?
ansible
粥周粥1 个月前
ANSIBLE
ansible
码农101号1 个月前
Linux中ansible模块补充和playbook讲解
linux·运维·ansible
码农101号1 个月前
Linux的Ansible软件基础使用讲解和ssh远程连接
ansible
烟雨书信1 个月前
ANSIBLE运维自动化管理端部署
运维·自动化·ansible