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 "主机"
相关推荐
傻啦猫@_@1 天前
如何使用ansible上的A用户操作其它服务上的B用户目录下的文件
ansible
Sweety丶╮7941 天前
【Ansible】将文件部署到受管主机知识点
云原生·ansible
Anthony_2312 天前
Ansible的 Playbook 模式详解
linux·运维·服务器·ansible
野奔在山外的猫2 天前
【教程】Ansible 环境部署
ansible
泡沫冰@2 天前
实施Ansible Playbook
ansible
鲸屿1955 天前
Ansible之playbook
服务器·网络·ansible
Sweety丶╮7946 天前
【Ansible】的介绍
云原生·ansible
知白守黑2676 天前
Ansible角色
运维·服务器·ansible
Sweety丶╮7946 天前
【Ansible】实施 Ansible Playbook知识点
服务器·云原生·ansible
YC运维7 天前
Ansible题目全解析与答案
java·算法·ansible