- 热门文章:
- · 从服务器能够到达的所有网络设备里面提取设备配置信息
- · SQL SERVER 11.0.x FOR SCO OPENSERVER 5
- · unix下的动态链接库
- · 在UNIX 系统下得到字符点阵信息
- · 怎样在UNIX系统中使用自定义功能键
- · 如何自动杀死UNIX僵死的进程
- · 构建Apache+PHP4+MySQL+PGSQL for UnixWare 7.1.1
- · 装载----"菜鸟"救盘记
- · SCO OPENSERVER 下custom发布软件的制作方法
- · SCO OPENSERVER上安装apache
- · SCO UNIX做简单路由器
- · UNIX中的文件切割
从服务器能够到达的所有网络设备里面提取设备配置信息
本工具用于从网络设备(CISCO)中提取配置文件,并保存到一个文本文件中。
需要 expect 软件支持, 如果你的操作系统没有这个软件,请根据需要下载
在 sco unix 中,请到 http://www.sco.com/skunkware/中下载, 三个软件: expect , tcl, tk 并安装。
主程序-----dome.sh
#!/bin/sh
counter=0
Usage()
{
echo "
Usage: $0 [iplist_filename]
功能:本程序用于读网络设备的配置信息。
参数: iplist_filename, 指定需要工作的网络设备文件。
文件格式:
节点编号 ip地址 Telnet密码 超级用户密码 节点设备说明
如果没有定义iplist_filename, 缺省文件名为:iplist
程序输入文件: iplist.out 或者 自定义文件名.out \n\n"
exit 1
}
[ $# -eq 0 ] && input="iplist"
[ $# -eq 1 ] && input=$1
[ $# -gt 1 ] && Usage
output="$input.out"
[ -r $input ] || {
echo "Error: Can@#t open file:$input"
exit 1
}
echo "">$output
lines=`wc -l $input|awk @#{ print $1 }@#`
while read node host pass1 pass2 name
do
counter=`expr $counter + 1 `
echo "\nGet configure from [ $host ], Please wait...\t[$counter/$lines]\c">&2
echo "============== begin ==============================\n">>$output
echo "NODE=$node">>$output
echo "NAME=$name">>$output
./router.cmd $host $pass1 $pass2>>$output
case $? in
0) echo "\t----\c">&2; continue;;
1) echo "\tE--- error \c">&2; continue;;
2) echo "\t-E-- error \c">&2; continue;;
3) echo "\t--E- error \c">&2; continue;;
4) echo "\t---E error \c">&2; continue;;
*) echo "\t**** error \c">&2; continue;;
esac
echo "-------------- end --------------------------------\n">>$output
done<$input
echo "\n===================\nCreate output file: $output">&2
:em02: [b:7ce538da72]调用程序 router.cmd [/b:7ce538da72]
#!/usr/local/bin/expect --
# 登陆路由器的一个命令 Script for expact
# 重要变量说明:
# routerip=路由器telnet登陆ip地址
# passwd1=路由器telnet登陆密码
# passwd2=路由器超级用户密码
# ---------------------------------------------------
if $argc!=3 {
send_user "Usage: router.cmd routerip passwd1 passwd2\n"
exit 9
}
set ROUTERIP [lindex $argv 0]
set PASSWORD1 [lindex $argv 1]
set PASSWORD2 [lindex $argv 2]
set TIMEOUT 30
set debug_flag 1
send_user "##### BEGIN\n"
spawn /usr/bin/telnet $ROUTERIP 23
set timeout $TIMEOUT
expect {
timeout {
send_user "Error 1: router ip can@#t arrived.\n"
send_user "##### END\n\n"
exit 1
}
"refused" {
send_user "Error 1: connection Failed.\n"
send_user "##### END\n\n"
exit 1
}
"*assword: " { send "$PASSWORD1\r" }
}
set timeout $TIMEOUT
expect {
timeout {
send_user "\nError 2: invalid telnet password...\n"
send_user "##### END\n\n"
exit 2
}
"*>" { send "enable\r" }
}
set timeout $TIMEOUT
expect {
timeout {
send_user "\nError 3: time out.\n"
send_user "##### END\n\n"
exit 3
}
"Password: " { send "$PASSWORD2\r" }
}
set timeout $TIMEOUT
expect {
timeout {
send_user "\nError 4: Invalid password for super user...\n"
send_user "##### END\n\n"
exit 3
}
"*#" { send "term len 0 \r" }
}
expect "*#"
send "show run\r"
expect "*#"
send "exit\r"
send_user "\n##### END\n\n"
exit 0
=============以上程序已经在 Sco Unix OSR5 里面测试通过
- · SCO UNIX5 的打印管理
- · 构建SCO UNIX下的Web服务器
- · 关于Informix数据库灵活备份的探讨
- · Informix-Online数据库的查询优化策略
- · SCO UNIX系统网络风险防范
- · 在Unix系统下用shell制作通用界面
- · 自动杀死Unix僵死的进程
- · UNIX文件系统的挽救技巧
- · 构筑Unix系统内防火墙体系的多种方案
- · 如何构建Informix分布式数据库访问
- · 在UNIX系统中配置网络打印服务器
- · Informix数据库软件开发方法与工具
- · 把字符转换成日期?
- · UnixWare 7.1安装
- · 简单的介绍UNIX下的常用编辑工具VI
- · 查看unix负载,删除邮件用户
- · 查看unix负载,删除邮件用户
- · UNIX及SYBASE的安装
- · 关于gcc、gdb 和gmake 的资料
- · UNIX家庭小点滴
- · Unix的入侵追踪
- · 配置安全的SCO UNIX网络系统
- · 如何突破一个有限制的SHELL
- · unix下的uucp大全讲解
- · 万年编辑器:VI
- · 如何实现多台主机的磁带机同时备份,加快备份速度
- · 远程拨号登录SCO UNIX主机
- · SCO限制ROOT用户远程登录的几种方法
- · SCO限制ROOT用户远程登录的几种方法
- · informix online 的三种备份方法
- · informix online的安装
- · 终端多屏对/etc/mscreencap文件的认识
- · 如何备份UNIX系统
- · 修改图形界面的默认终端
- · 备份Informix-Online数据库三法
- · 创建带vi编辑器的引导盘
- · SCO下转换大写金额的SHELL脚本
- · cc的基本用法
