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 "主机"
相关推荐
张32312 小时前
Ansible实施任务控制
linux·ansible
张32314 小时前
Ansible Playbook
ansible
张32315 小时前
Ansible文件部署
服务器·ansible
张32315 小时前
Ansible介绍
ansible
热爱Liunx的丘丘人1 天前
Ansible的Playbook案例一
linux·运维·服务器·ansible
小梦爱安全1 天前
Ansible剧本1
java·网络·ansible
WJ.Polar2 天前
Ansible任务控制
linux·运维·网络·python·ansible
热爱Liunx的丘丘人2 天前
PlayBook常用的模块编写
linux·服务器·ansible
淼淼爱喝水2 天前
Ansible Playbook 入门实战:自动化创建 Linux 用户
linux·运维·服务器·网络·ansible
热爱Liunx的丘丘人2 天前
Ansible-doc及常用模块
linux·运维·服务器·ansible