1

我需要一个工具/脚本来从多台 Linux 机器(主要是 Red Hat Enterprise 5)获取网卡配置。我只知道一些基本的 bash,我需要一些可以远程运行的东西,从 CSV 中提取服务器名称。它还需要由 Windows 机器上的非技术类型快速轻松地运行。我找到了 WBEM/CMI/SBLIM,但我宁愿不写一个完整的 C++ 应用程序。谁能指出我可以完成此任务的工具或脚本?

4

3 回答 3

0

您能否详细说明您需要提取哪些信息?各种参数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 上很容易做到。

于 2010-09-09T20:06:43.487 回答
0

对于 Red Hat Enterprise Linux 服务器,您可能只需/etc/sysconfig/networking/devices/要从每个服务器中获取文件的副本。您可以使用sftp客户端来完成此操作ssh

(这些文件只是包含网络设备配置的易于阅读的文本配置文件)

于 2010-09-10T02:36:04.650 回答
0

如果您想为此使用 WBEM/CIM(如您的原始问题中所述),并且您更喜欢脚本环境而不是 C/C++/Java 等编程语言,那么 PyWBEM 和 PowerCIM 有两种方法可以做到这一点Python。如果需要 bash 等,则有命令行客户端(例如 OpenPegasus 项目中的 cimcli 或 SBLIM 项目中的 wbemcli),您可以解析它们的输出。就个人而言,我更喜欢使用 PyWBEM 的基于 Python 的方法。它非常易于使用,连接到 CIM 服务器是一行,而枚举一个类的 CIM 实例又是一行。

在您要查询的 Linux 系统一侧,CIM 服务器需要与正确的 CIM 提供程序包 (sblim) 一起运行(tog-pegasus 或 sfcb)。这种方法的优点是,无论您使用哪种 Linux 发行版,您的界面都是相同的。解析配置文件通常取决于 Linux 发行版的类型,我已经看到它们在不同版本之间发生变化。

CIM 的一个主要目的是提供可靠的接口,这些接口在不同类型的环境中是一致的,并且只会随着时间的推移而兼容地变化。

最后但同样重要的是,使用 CIM 可以让您无需在要检查的系统上安装任何代理软件(只要您可以确保 CIM 服务器正在运行)就可以逃脱。

安迪

于 2013-05-25T07:45:53.770 回答