`
张三火
  • 浏览: 71133 次
社区版块
存档分类
最新评论

通过NSH获取被管服务器属性信息

 
阅读更多

通过该方法可以把服务器配置信息输出为CSV文件.

注:脚本可执行的前提是你已经配置了blcli环境.

 

 

1. 创建服务器列表文件

 

# cat servers.txt
server1
server2
server3
server4
server5
 

 

2. 创建配置属性文件

 

# cat properties
ASSET_ID
ASSET_TAG
CABINET
WARRANTY_EXPIRATION
REMOTE_ACCESS_NAME
ENVIRONMENT
DR_REQUIREMENTS
PATCH_GROUP
SITE
ASSET_MANAGER
AIT_SUPPORT_ROLE
OWNER
DIVISIONAL_CONTACT
DEPARTMENT
MAINTENANCE_WINDOW
ITEM
 

 

3. 创建脚本文件

 

#!/usr/nsh/bin/nsh
 
if [ 2 -ne $# ]
then
  echo "usage: $0 full_path_to_list_of_servers full_path_to_list_of_properties"
  exit
fi
 
if [ ! -e "$1" ] || [ ! -e "$2" ]
then
  echo "can't find either $1 or $2"
  exit
fi
 
SERVERFILE="$1"
TAGSFILE="$2"
date >&2
echo "using $SERVERFILE for the list of servers" >&2
echo "using $TAGSFILE for the list of properties" >&2
 
VALIDTAGS=""
validate_tags () {
  blcli_execute PropertySetClass getAllPropertyNames Class://SystemObject/Server > /dev/null 2>&1
  blcli_storeenv thetags
  for i in `cat "$TAGSFILE" |tr -d '\015'| sort`
  do
    echo "$thetags" | grep $i >/dev/null 2>&1
    if [ 0 -eq $? ]
    then
      VALIDTAGS=`echo "$VALIDTAGS""|""^$i"`
    fi
  done
  VALIDTAGS=`echo "$VALIDTAGS" | sed -e 's/^|\(.*\)/\1/'`
}
 
echo "connecting" >&2
blcli_connect
if [ $? -ne 0 ]
then
  echo "can't connect blcli"
  exit
fi
echo "connected." >&2
 
echo "validating the list of properties" >&2
validate_tags
 
if [ -z "$VALIDTAGS" ]
then
  echo "no parameter is valid"
  exit
else
  echo "the following properties are valid:"`echo "$VALIDTAGS" | tr '|' ','` | tr -d ^ >&2
fi
 
 
echo "processing list of servers" >&2
echo "server,""`echo \"$VALIDTAGS\" | tr '|' ',' | tr -d ^`"
for server in `cat $SERVERFILE | tr -d '\015'`
do
  blcli_execute Server printAllProperties $server > /dev/null 2>&1
  if [ $? -eq 0 ]
  then
    blcli_storeenv theinstance
    echo -n "$server"","
    echo "$theinstance" | grep -E "$VALIDTAGS"  | sort | cut -d '=' -f 2 | awk 'BEGIN {ORS=",";} {print $0}' | sed -e 's/\(.*\),$/\1/'
    echo ""
  fi
done
blcli_disconnect
 
date >&2
echo "done" >&2

 

 

4. 脚本执行及输出

 

# nsh get_properties_for_servers.nsh 5servers.txt properties > sample_output.csv
Wed Oct 8 05:33:39 EDT 2008
using servers.txt for the list of servers
using properties for the list of properties
connecting
connected.
validating the list of properties
the following properties are valid:ASSET_ID,ENVIRONMENT,MAINTENANCE_WINDOW,PATCH_GROUP
processing list of servers
Wed Oct 8 05:33:47 EDT 2008
done
 
suprhas30serv1# cat sample_output.csv
server,ASSET_ID,ENVIRONMENT,MAINTENANCE_WINDOW,PATCH_GROUP
server1, AST0047093, Test Lab, Sunday 12:00 a.m. - 4:00 a.m., EUT - TEST
server2, AST0047107, Test Lab, Sunday 12:00 a.m. - 4:00 a.m., EUT - TEST
server3, AST0047120, Test Lab, Sunday 12:00 a.m. - 4:00 a.m., EUT - TEST
server4, AST0047177, Test Lab, Sunday 12:00 a.m. - 4:00 a.m., EUT - TEST
server5, AST0047122, Test Lab, Sunday 12:00 a.m. - 4:00 a.m., EUT - TEST
0
0
分享到:
评论

相关推荐

    包含nsWindows.nsh的NSIS.zip

    包含 nsWindows.nsh 的NSIS_2.46,最新的为3.04版 .

    WinVer.nsh 判断Win8版本 NSIS

    WinVer.nsh 判断Win8版本 NSIS脚本

    中科曙光服务器A620-G30 naples bios文件

    曙光服务器支持AMD 7001-7002处理器,但是不同的版本支持CPU不同。 本版本是针对7001系列处理器的支持BIOS文件。

    WinVer.nsh( NSIS判断系统平台)

    NSIS判断操作系统版本,<version> 允许的值: 95、98、ME、NT4、2000、XP、2003、Vista、2008、7、2008R2

    winver.nsh

    NSIS查询系统版本号,支持win8,下载后可以修改个名字(避免与NSIS原有的头文件产生冲突)放在NSIS安装目录下的include文件夹中。

    欧姆龙手持可编程终端NSH5-V2.pdf

    欧姆龙手持可编程终端NSH5-V2pdf,欧姆龙手持可编程终端NSH5-V2:具备“触摸屏功能”和“安全硬开关功能”的5.7英寸手持式可编程终端。配有紧急停止/停止开关、启动开关。同时配备用于在触摸屏操作中有意识地停止设备...

    archived-nsh_sfc

    有关NSH SFC项目及其功能的更多信息,请访问和页面。 目录布局。 目录名 描述 build-root | Build output directory doxygen | Documentation generator configuration @ref nsh-plugin | 网络服务标头插件nsh-...

    UutCfg.nsh

    UutCfg.nsh

    NSH-5509 User Manual

    NSH-5509 User Manual 內有Switch設定的教學文件

    nsh:命令行程序,如fish,但与POSIX兼容

    Bash完成支持(通过内部调用正版Bash)。 内置零配置功能。 写在锈 :crab:安装$ cargo install nsh文献资料为什么要创建一个新的外壳? Bash是执行Shell脚本的最佳选择,但其交互模式并不令人满意。 我是过去十年的...

    Expression and purification of NSH2 domain protein for NMR research

    NSH2蛋白的原核表达纯化和同位素标记,牛皋,郭江峰,SHP-2蛋白是一种含有两个SH2结构域的磷酸酶。SHP-2的N端SH2结构域(NSH2)是细胞因子或病毒因子激活该蛋白的分子内靶点。将NSH2以不同的方法

    欧姆龙手持可编程终端 NSH系列.pdf

    欧姆龙手持可编程终端 NSH系列pdf,欧姆龙手持可编程终端 NSH系列:适合手持操作的触摸屏,3接点使能开关,大大提高操作安全性。3接点紧急停止开关,灵敏,安全的停止保证。符合IEC61131-2(下落冲击)标准,极强的耐...

    win7主页修改成百度,及各种优化。

    更改主页改不过来的,将主页改成百度。工具及系统优化工具。

    nsWindow.rar

    nsis打包窗口设置插件,用到缺少nsWindows.nsh的报错,把nsWindows.nsh放到nsis安装目录下的Include文件夹下,把nsWindows.dll放到nsis安装目录下的Plugins文件夹下,就可以使用这个插件相关的内容

    NSIS仅卸载安装的文件 UninstallLog.nsh

    Nsis的头文件,支持卸载安装的文件,不会卸载其他文件,避免整个磁盘被删掉的尴尬情况 https://nsis.sourceforge.io/Advanced_Uninstall_Log_NSIS_Header

    Zojirushi象印多种料理电烤箱ET-NSH15C说明书.pdf

    Zojirushi象印品牌说明书

    nsh_iros2020:F1第十届2020竞赛代码

    nsh_iros2020 F1第十届2020比赛守则

    ovs-2.8.0 源码

    ovs-2.8.0 源码,Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license.

    nsh:NAZA智能家居,用于自动化远程物联网

    这是一个创建多个IoT模块的项目,这些IoT模块已连接到服务器,并且可以通过Internet连接从任何地方远程访问。 请使用,编辑和分发现有代码。 为了印尼的先进而热爱本地印尼产品。 并且不要忘记通过捐赠来支持我们...

    matlab对比实验代码-nsh:邻居敏感散列

    有关更多详细信息,请参见PVLDB 2016中发布的内容。 演示(仅在10秒内) 任何在她的计算机上安装了Matlab的人都可以在不到10秒的时间内下载并运行我们的代码。 为了进行比较,我们还附带了两个基于学习的最新哈希...

Global site tag (gtag.js) - Google Analytics