我需要一个工具/脚本来从多个Linux机器获取网卡配置,主要是Red Hat Enterprise 5。我只知道一些基本的bash,我需要一些可以远程运行的东西,从CSV获取服务器名称。它还需要由Windows机器上的非技术类型快速、轻松地运行。我已经找到了WBEM/CMI/SBLIM,但我不想编写完整的C++应用程序。有没有人能告诉我有什么工具或脚本可以做到这一点?
发布于 2010-09-10 10:36:05
对于Red Hat Enterprise Linux服务器,您可能只需要从每个服务器获取/etc/sysconfig/networking/devices/中的文件的副本。您可以通过ssh使用sftp客户端来完成此任务。
(这些文件只是包含网络设备配置的易于阅读的文本配置文件)
发布于 2010-09-10 04:06:43
你能提供更多关于你需要拉取哪些信息的细节吗?ifconfig的各种参数提供了许多关于Linux机器的网卡配置的信息,所以如果您可以这样做,那么它将非常容易。只需编写一个脚本,将CSV转换为以空格分隔的内容,然后您就可以执行以下操作:
#!/bin/bash
for host in $HOSTS ; do
CARDINFO=`ssh $host 'ifconfig'`
# Do whatever processing you need on CARDINFO here
done这是伪代码的一个非常粗略的草图。您还需要在要访问的主机上设置无密码SSH,但在Red Hat上很容易做到这一点。
发布于 2013-05-25 15:45:54
如果您想使用WBEM/CIM来实现这一点(如您的原始问题中所述),并且您更喜欢脚本环境而不是C/C++/Java之类的编程语言,那么在Python语言中有两种方法可以实现这一点: PyWBEM和PowerCIM。如果需要bash等,那么可以使用命令行客户端(例如来自OpenPegasus项目的cimcli或来自SBLIM项目的wbemcli ),您可以解析它们的输出。就我个人而言,我更喜欢使用PyWBEM的基于Python的方法。它非常容易使用,连接到CIM服务器只需要一行,枚举一个类的CIM实例就是另一行。
在要查询的Linux系统端,CIM服务器需要运行(tog-pegasus或sfcb)以及正确的CIM提供程序包(sblim)。这种方法的优点是,无论您使用哪个Linux发行版,您的界面都是相同的。解析配置文件通常依赖于Linux发行版的类型,我看到不同版本的配置文件会有所不同。
CIM的一个主要目的是提供可靠的接口,这些接口在不同类型的环境中是一致的,并且只随着时间的推移而变化。
最后但并非最不重要的一点是,使用CIM可以让您不必在要检查的系统上安装任何代理软件(只要您能够确保CIM服务器正在运行)。
安迪
https://stackoverflow.com/questions/3680017
复制相似问题