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 "主机"
相关推荐
我爱学习好爱好爱7 小时前
Ansible变量介绍 vars变量 inventory针对主机设置变量
linux·自动化·ansible
我爱学习好爱好爱7 小时前
inventory针对主机组设置变量 host_vars group_vars playbook执行时传入值 Ansible-register
运维·自动化·ansible
我爱学习好爱好爱12 小时前
Ansible 自动化部署Elasticsearch + Logstash + Kibana实战(基于RockyLinux 9.6)
elasticsearch·自动化·ansible
牛奶咖啡131 天前
DevOps自动化运维实践_自动化运维工具Ansible
运维·自动化·ansible·devops·ansible的安装·ansible的架构与运行原理·ansible的主机和组配置
我爱学习好爱好爱1 天前
Ansible Playbook介绍 playbook的编写要求 playbook多任务案例
linux·运维·ansible
我爱学习好爱好爱1 天前
Ansible 常用模块详解:firewalld、setup实战
linux·运维·ansible
SPC的存折2 天前
4、Ansible之Playbook变量应用
linux·前端·chrome·ansible
淼淼爱喝水2 天前
openEuler 下 Ansible 基础命令详解与实操演示1
linux·服务器·ansible
我爱学习好爱好爱2 天前
Ansible 自动化部署Prometheus + Alertmanager + Grafana实战(Rockylinux9.6)
自动化·ansible·prometheus
我爱学习好爱好爱2 天前
Ansible 常用模块详解:cron、archive、unarchive实战
linux·服务器·ansible