ansible获取主机信息并存入mysql数据库

该脚本演示了如何通过Ansible收集所有主机的详细信息,并将这些信息存储到MySQL数据库中。首先,它运行`ansible all -m setup`命令并将输出保存为JSON文件。然后,脚本遍历这些文件并读取每个主机的详细信息,如IP、主机名、网关、MAC地址、操作系统、内核等,并根据这些信息创建或更新数据库中的hosts表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/usr/bin/python
# -*- coding:UTF-8 -*-


import os
import sys
import commands
import MySQLdb
import json

#获取全部的fact并以主机名为文件名存到某个路径下
(status, output) = commands.getstatusoutput('ansible all -m setup --tree /root/hosts')
#print status,'++++++++++++++'

#为/root/hosts下文件加入.json后缀
def rename_file(path):
for file in os.listdir(path):
if os.path.isfile(os.path.join(path,file)) == True:
if file.find('.json') < 0:
newname = file + '.json'
os.rename(os.path.join(path,file),os.path.join(path,newname))
print file,'ok'
else:
continue
else:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值