我们工作中,经常需要获取服务器的一些信息,包括软件的和硬件的。例如刚刚接收的服务器,需要批量获取信息确认硬件配置是否符合我们需求,或者维护很长时间的服务器,中间变动了很多,但是服务器信息没有更改,这个时候也需要进行信息核对等等。基于以上这些需求,我写了一个脚本,用shell批量获取远程服务器的信息保存到一个结果,然后用python进行解析,生成excel表。以下是具体步骤:
- 配置ssh免密码登录,或者不配置请安装sshpass工具;
- 安装XlsxWriter模块,python需要调用这个模块来创建和生成excel表;
- shell脚本,根据ip列表批量去获取所需要的信息,保存到一个文件当中;
- python解析结果文件,生成所需要的excel表;
以下是具体的代码:
#批量获取信息
#!/bin/bash
declare -A RESULT
RESULT=()
function getinfo() {
IP=$1
OUTIP=$(ssh root@$IP -p 22 "ifconfig eth0 |grep -w inet |cut -d':' -f2 |cut -d' ' -f1")
HOSTNAME=$(ssh root@$IP -p 22 'hostname')
RELEASE=$(ssh root@$IP -p 22 'cat /etc/redhat-release')
CPU=$(ssh root@$IP -p 22 "cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c")
PYCPU_NUM=$(ssh root@$IP -p 22 'grep "physical id" /proc/cpuinfo |sort |uniq |wc -l')
CORE=$(ssh root@$IP -p 22 "cat /proc/cpuinfo| grep cores| uniq | awk -F ':' '{print $2}'")
logical=$(ssh root@$IP -p 22 'cat /proc/cpuinfo| grep processor|

本文介绍了如何使用Python和Shell脚本实现批量获取远程服务器信息并整理成Excel表格。首先配置SSH免密码登录或安装sshpass,接着安装XlsxWriter模块。Shell脚本遍历IP列表收集信息,存储到文件;然后Python解析该文件,利用XlsxWriter创建Excel报表。详细代码和步骤说明帮助读者实现自动化服务器信息管理。

1300

被折叠的 条评论
为什么被折叠?



