通过该方法可以把服务器配置信息输出为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
分享到:
相关推荐
包含 nsWindows.nsh 的NSIS_2.46,最新的为3.04版 .
WinVer.nsh 判断Win8版本 NSIS脚本
曙光服务器支持AMD 7001-7002处理器,但是不同的版本支持CPU不同。 本版本是针对7001系列处理器的支持BIOS文件。
NSIS判断操作系统版本,<version> 允许的值: 95、98、ME、NT4、2000、XP、2003、Vista、2008、7、2008R2
NSIS查询系统版本号,支持win8,下载后可以修改个名字(避免与NSIS原有的头文件产生冲突)放在NSIS安装目录下的include文件夹中。
欧姆龙手持可编程终端NSH5-V2pdf,欧姆龙手持可编程终端NSH5-V2:具备“触摸屏功能”和“安全硬开关功能”的5.7英寸手持式可编程终端。配有紧急停止/停止开关、启动开关。同时配备用于在触摸屏操作中有意识地停止设备...
有关NSH SFC项目及其功能的更多信息,请访问和页面。 目录布局。 目录名 描述 build-root | Build output directory doxygen | Documentation generator configuration @ref nsh-plugin | 网络服务标头插件nsh-...
UutCfg.nsh
NSH-5509 User Manual 內有Switch設定的教學文件
Bash完成支持(通过内部调用正版Bash)。 内置零配置功能。 写在锈 :crab:安装$ cargo install nsh文献资料为什么要创建一个新的外壳? Bash是执行Shell脚本的最佳选择,但其交互模式并不令人满意。 我是过去十年的...
NSH2蛋白的原核表达纯化和同位素标记,牛皋,郭江峰,SHP-2蛋白是一种含有两个SH2结构域的磷酸酶。SHP-2的N端SH2结构域(NSH2)是细胞因子或病毒因子激活该蛋白的分子内靶点。将NSH2以不同的方法
欧姆龙手持可编程终端 NSH系列pdf,欧姆龙手持可编程终端 NSH系列:适合手持操作的触摸屏,3接点使能开关,大大提高操作安全性。3接点紧急停止开关,灵敏,安全的停止保证。符合IEC61131-2(下落冲击)标准,极强的耐...
更改主页改不过来的,将主页改成百度。工具及系统优化工具。
nsis打包窗口设置插件,用到缺少nsWindows.nsh的报错,把nsWindows.nsh放到nsis安装目录下的Include文件夹下,把nsWindows.dll放到nsis安装目录下的Plugins文件夹下,就可以使用这个插件相关的内容
Nsis的头文件,支持卸载安装的文件,不会卸载其他文件,避免整个磁盘被删掉的尴尬情况 https://nsis.sourceforge.io/Advanced_Uninstall_Log_NSIS_Header
Zojirushi象印品牌说明书
nsh_iros2020 F1第十届2020比赛守则
ovs-2.8.0 源码,Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license.
这是一个创建多个IoT模块的项目,这些IoT模块已连接到服务器,并且可以通过Internet连接从任何地方远程访问。 请使用,编辑和分发现有代码。 为了印尼的先进而热爱本地印尼产品。 并且不要忘记通过捐赠来支持我们...
有关更多详细信息,请参见PVLDB 2016中发布的内容。 演示(仅在10秒内) 任何在她的计算机上安装了Matlab的人都可以在不到10秒的时间内下载并运行我们的代码。 为了进行比较,我们还附带了两个基于学习的最新哈希...