总结
从上面可以看出,整个脚本使用的技术不是很复杂,主要是利用 SED 编辑器通过模式匹配从配置文件中提取出所需要的部分,然后从新组织起来,形成一定的符合 IBM storage manager 使用的格式。其中还利用了一些简单的正则表达式,这在很多系统管理的脚本中很常见,可见功能的实效性。当然,作为 SED 这个强大的编辑器,功能远远不止这些,这里也是希望能通过我的一些实践和大家分享一些使用脚本的心得。最终的目的还是提高工作的效率,哪一个管理员或是相关的工程师也不希望总是做一些没有技术含量而且重复性很大的工作,所以脚本以及 SED 编辑器,Awk 等工具都是各位很好的帮手。下面看一下所生成的两个功能集合脚本的内容,体验一下成果的滋味。
setup.cmd
create logicalDrive array=1 userLabel="sunx325b_0" capacity=0.5GB owner=a;
create logicalDrive array=1 userLabel="sunx325b_1" capacity=0.5GB owner=b;
create logicalDrive array=1 userLabel="sunx325b_2" capacity=0.5GB owner=a;
create logicalDrive array=1 userLabel="sunx325b_3" capacity=0.5GB owner=b;
create logicalDrive array=1 userLabel="sunx325b_4" capacity=0.5GB owner=a;
.
.
.
.
create logicalDrive array=1 userLabel="sunx325b_26" capacity=0.5GB owner=a;
create logicalDrive array=1 userLabel="sunx325b_27" capacity=0.5GB owner=b;
create logicalDrive array=1 userLabel="sunx325b_28" capacity=0.5GB owner=a;
create logicalDrive array=1 userLabel="sunx325b_29" capacity=0.5GB owner=b;
create hostGroup userLabel="sunx325b_group";
create host userLabel = "sunx325b" hostGroup = "sunx325b_group";
create hostPort identifIEr = "210000e08b0e934d" userLabel = "sunx325b_hba0"
host = "sunx325b" hostType = 8;
create hostPort identifier = "210000e08b0e6e50" userLabel = "sunx325b_hba1"
host = "sunx325b" hostType = 8;
set logicalDrive ["sunx325b_0"] logicalUnitNumber=0 hostGroup="sunx325b_group";
set logicalDrive ["sunx325b_1"] logicalUnitNumber=1 hostGroup="sunx325b_group";
set logicalDrive ["sunx325b_2"] logicalUnitNumber=2 hostGroup="sunx325b_group";
set logicalDrive ["sunx325b_3"] logicalUnitNumber=3 hostGroup="sunx325b_group";
set logicalDrive ["sunx325b_4"] logicalUnitNumber=4 hostGroup="sunx325b_group";
.
.
.
.
set logicalDrive ["sunx325b_25"] logicalUnitNumber=25 hostGroup="sunx325b_group";
set logicalDrive ["sunx325b_26"] logicalUnitNumber=26 hostGroup="sunx325b_group";
set logicalDrive ["sunx325b_27"] logicalUnitNumber=27 hostGroup="sunx325b_group";
set logicalDrive ["sunx325b_28"] logicalUnitNumber=28 hostGroup="sunx325b_group";
set logicalDrive ["sunx325b_29"] logicalUnitNumber=29 hostGroup="sunx325b_group";
标签: