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 "主机"
相关推荐
Cat_Rocky9 小时前
Linux-ansible之Playbook简单应用
linux·网络·ansible
淼淼爱喝水1 天前
Ansible 入门实战:四种变量优先级比较实验
ansible·变量
淼淼爱喝水2 天前
ansible实战:「磁盘空间 ≥ 2G 时自动创建文件」
前端·ansible·自动创建
红茶要加冰3 天前
四、ansible的templates
linux·运维·服务器·ansible
红茶要加冰3 天前
五、ansible的流程控制
linux·运维·服务器·ansible
Cat_Rocky3 天前
Linux学习-ansible自动化
linux·学习·ansible
大白菜和MySQL4 天前
ansible使用简记
ansible
灰色人生qwer4 天前
入门 Ansible
ansible·ansible tower
终端行者5 天前
企业级Jenkins Pipeline 实战 Docker构建+Ansible发布
ci/cd·docker·ansible·jenkins
悠悠121386 天前
Jenkins + Ansible 集成实战:把配置管理焊进流水线里
运维·ansible·jenkins