- 浏览: 176670 次
- 性别:
- 来自: 沈阳
文章分类
最新评论
-
Cash:
今日测试微信服务器,搭建tomcat8.0.9时,发布的ser ...
Tomcat 主机部署 -
Cash:
追加网通ip段:在网上没有公布出来222.128.0.0 25 ...
双ISP出口用到的ip地址表
由于要升级ios的交换机数目太多70多台(+_+)!,每条命令进行键盘输入简直会疯掉。所以做个个js脚本使用crt加载登陆脚本一气呵成,比较爽!
注意:**** 部分要替换成用户名,密码。
-------------------------------------------ios.js文件内容如下----------------------------------------------------------------------------
#$language = "JScript"
#$interface = "1.0"
//升级Cisco2950 IOS的JScript
//作者:张锋
//日期:2007-04-28
//版本:V0.1
//--------- 自定义函数---------------------------------------
//获取月份的英文缩写 (例如:clock set 13:00:00 28 apr 2007)
//参考:jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec
//输入:{int类型[月份]}
//输出:{int类型}月份英文缩写
//日期:2007-04-28
//版本:v0.1 (helper class 1)
//作者:张锋
function getMonthEngShort(m){
var engShort = null ;
switch(m){
case 1: engShort="jan"; break;
case 2: engShort="feb"; break;
case 3: engShort="mar"; break;
case 4: engShort="apr"; break;
case 5: engShort="may"; break;
case 6: engShort="jun"; break;
case 7: engShort="jul"; break;
case 8: engShort="aug"; break;
case 9: engShort="sep"; break;
case 10: engShort="oct"; break;
case 11: engShort="nov"; break;
case 12: engShort="dec"; break;
}
return engShort;
}
//alert("测试 getMonthEngShort(4)="+getMonthEngShort(4));
//判断闰年函数
//参考:能被400整除,或者能被4整除而不能被100整除。
//输入:{int类型[年]}
//输出:{boolean类型}是否为闰年
//日期:2007-04-28
//版本:v0.1 (helper class 2)
//作者:张锋
function isLeapYear(y){
var r = false;
if(y%400==0 || (y%4==0 && y%100!=0 )){
r = true;
}
return r;
}
//alert("测试 isLeapYear(2000)="+isLeapYear(2000));
//获取第二天函数
//参考:
//输入:{int类型[年],int类型[月],int类型[日]}
//输出:{Date类型}第二天的日期
//日期:2007-04-28
//版本:v0.1 (helper class 3)
//作者:张锋
function getNextDay(y,m,d){
var nextY=0,nextM=0,nextD=0;
//alert(y+"-"+m+"-"+d);
switch(m){
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 :
if(d==31){
nextD = 1 ;
if(m==12){
nextM = 1 ;
nextY = y + 1 ;
}else{
nextM = m + 1 ;
nextY = y ;
}
}else{
nextD = d + 1 ;
nextM = m ;
nextY = y ;
};
//alert("case 1,3,5,7,8,10,12 :");
break;
case 4 :
case 6 :
case 9 :
case 11 :
if(d==30){
nextD = 1 ;
nextM = m + 1 ;
nextY = y ;
}else{
nextD = d + 1 ;
nextM = m ;
nextY = y ;
};
//alert("case 4,6,9,11 :");
break;
case 2 :
if( ( isLeapYear(y) && d==29 ) || ( !isLeapYear(y) && d==28 ) ){
nextD = 1 ;
nextM = 3 ;
nextY = y ;
}else{
nextD = d + 1 ;
nextM = m ;
nextY = y ;
};
//alert("case 2");
break;
}
//alert (nextY+"\n"+nextM+"\n"+nextD+"\n");
return new Date(nextY,(nextM-1),nextD);
}
//测试getNextDay(y,m,d);
//function testGetNextDay(y,m,d){
// alert("测试 getNextDay("+y+","+m+","+d+")="+getNextDay(y,m,d).getYear()+"-"+(getNextDay(y,m,d).getMonth()+1)+"-"+getNextDay(y,m,d).getDate());
//}
//testGetNextDay(2007,4,28);
//testGetNextDay(2000,2,28);
//testGetNextDay(2000,2,29);
//testGetNextDay(2007,2,28);
//testGetNextDay(2007,2,29);
//testGetNextDay(2007,12,31);
//设置系统时间 (例如:clock set 13:00:00 28 apr 2007)
//参考:jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec
//输入:{}
//输出:{string类型}设定cisco ios系统使用当前系统时间的命令串
//日期:2007-04-28
//版本:v0.1 (Called Class A)
//作者:张锋
function getClockStr(){
var r = "" ;
var nowDay = new Date();
var nowMonthID = nowDay.getMonth() + 1;
var engMonthShort = getMonthEngShort(nowMonthID);
r = nowDay.getHours() + ":" + nowDay.getMinutes() + ":" + nowDay.getSeconds();
r = r + " " + nowDay.getDate() + " " + engMonthShort + " " + nowDay.getYear();
r = "clock set " + r;
return r;
}
//alert("测试 getClockStr()="+getClockStr());
//设置重新启动时间为次日的t点(例如:reload at 4:00 28 apr)
//参考:jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec
//输入:{string类型[次日时间XX:XX格式]}
//输出:{string类型}设定cisco ios系统次日重新启动的时间命令串
//日期:2007-04-28
//版本:v0.1 (Called Class B)
//作者:张锋
function getReloadDateStr(t){
var r = "";
var nowDay = new Date();
var nextDate = null ;
var nowDate = nowDay.getDate() ;
var nowMonth = nowDay.getMonth() + 1;
var nowYear = nowDay.getYear();
var nextDay = getNextDay(nowYear,nowMonth,nowDate);
r = "reload at " + t + " " + nextDay.getDate() + " " + getMonthEngShort((nextDay.getMonth()+1));
return r;
}
//alert("测试 getReloadDateStr(4:00)="+getReloadDateStr("4:00"));
//------自定义函数结束-----------------------------
//-------实际运行。。。。。----------------------
//登陆交换机
crt.Screen.WaitForString ("Username: ");
crt.Screen.Send ("***********" + "\n");
crt.Screen.WaitForString ("Password: ");
crt.Screen.Send ("***********" + "\n");
crt.Screen.WaitForString (">");
crt.Screen.Send ("en" + "\n");
crt.Screen.WaitForString ("Password: ");
crt.Screen.Send ("***" + "\n");
//上传新版本IOS
crt.Screen.WaitForString ("#");
crt.Screen.Send ("archive tar /xtract tftp://10.61.8.230/c2950-i6k2l2q4-tar.121-22.EA9.tar flash:" + "\n");
//设置系统时间 clock set 13:00:00 28 apr 2007
crt.Screen.WaitForString ("#");
crt.Screen.Send (getClockStr() + "\n");
//设置重新启动时间
crt.Screen.WaitForString ("#");
crt.Screen.Send (getReloadDateStr("4:00") + "\n");
crt.Screen.WaitForString ("Proceed with reload? [confirm]");
crt.Screen.Send ("\n");
//设置IOS文件路径
crt.Screen.WaitForString ("#");
crt.Screen.Send ("config" + "\n");
crt.Screen.WaitForString ("Configuring from terminal, memory, or network [terminal]? ");
crt.Screen.Send ("\n");
//设置ios装载文件
crt.Screen.WaitForString ("(config)#");
crt.Screen.Send ("boot system flash:c2950-i6k2l2q4-mz.121-22.EA9.bin" + "\n");
//保存配置
crt.Screen.WaitForString ("(config)#");
crt.Screen.Send ("end" + "\n");
crt.Screen.WaitForString ("#");
crt.Screen.Send ("wr" + "\n");
//退出
crt.Screen.WaitForString ("#");
crt.Screen.Send ("exit" + "\n");
发表评论
-
ospf重分发默认路由无法进入路由表问题
2020-11-12 17:30 993机房内设备升级改造,核心交换机与3台互联网路由器对接,中间 ... -
ASA5520 remote ipsec vpn配置
2013-08-29 13:14 5005接口启用ISAKMP: crypto isakmp enabl ... -
javascript 自动填写用户已输入的用户名及密码
2013-01-17 15:22 4544<!DOCTYPE html PUBLIC " ... -
H3C Spanning Tree
2012-12-21 10:07 1692stp mode stp stp instance 1 ... -
关于ASA5520的radius认证remote vpn用户配置延时
2012-08-17 13:53 2441近日对ciscovpn认证服务器进行迁移发现ASA5520配置 ... -
windows2008R2 NPS导致dhcp无法分派地址
2012-08-16 16:36 3284近几天正在考虑将nps在windows2008r2系统(已部署 ... -
双ISP出口用到的ip地址表
2012-08-14 16:59 1273中国电信ip段 http://bgp.he.net/AS413 ... -
ciscoRV042对接cisco2951,日志
2012-08-07 13:12 2697在2951上的ike策略10无法与RV042的策略匹配,需要手 ... -
静态路由重分发进入ospf的深入学习
2012-05-03 11:29 4947路由器与三层交换机已形成ospf邻居关系, 现在要将与此台 ... -
ip地址分类,英文文章,说的很透彻
2012-05-03 09:08 1303Network Address Range: Class A ... -
H3C MSR50-40 路由器,关闭web管理
2012-01-09 16:56 1254[MSR50-40] undo ip http enable ... -
路由器接口参数及意义
2011-12-21 20:33 1419router#sh int fa0/0 FastEtherne ... -
cisco设备telnet显示console日志信息
2011-12-20 21:55 1297全局模式下输入命令:terminal monitor -
FTP 被动、主动模式解析
2011-12-10 19:52 761Technical background What dis ... -
关于MSTP线路的Qos拥塞控制问题!
2011-10-08 23:05 1546mstp线路为用户接入提供超过2Mbps的接入速度,为sdh提 ... -
cisco路由器密码重置
2011-09-21 11:40 1105when the router is starting to ... -
windows2003中文版,windows2008R2英文版,dhcp服务器迁移
2011-07-19 16:20 17601)windows2003 netsh dhcp se ... -
IIS页面访问问题
2011-07-07 20:45 1050(转) “您未被授权查看该页,您不具备使用所提供的凭 ... -
常用端口号
2011-06-27 21:58 1010List of TCP and UDP port number ... -
关于cisco 4507R的主控板卡冗余
2011-06-24 11:30 1887切换主处理板卡:redundancy force−switch ...
相关推荐
cisco 2950 IOS
cisco 2950 IOS下载, c2950-i6q4l2-mz.121-22.EA1.bin
2008年推出 CISCO2950较新IOS映像:c2950-i6k2l2q4-mz.121-22.EA12
2950 ios升级 CISCO_2950交换机IOS升级的步骤
CISCO 交换机 IOS 升级步骤.docx
CISCO C2950-IOS CISCO C2950-IOS
思科Catalyst2950-IOS文件
思科路由器IOS升级,升级IOS比较麻烦,如果可能的话尽量还是生产之外进行。
cisco 2950 ios c2950-i6k2l2q4-mz.121-22.EA13.bin
思科IOS升级方法
Cisco IOS升级6步轻松搞定 Cisco IOS升级6步轻松搞定
CISCO2811路由器IOS升级及配置
该文档能有效的让操作者快速上手上传与升级cisco设备的IOS
Cisco路由器IOS映像恢复及升级方法
cisco 系列交换机IOS升级全面步骤。
Cisco常用IOS文件,模拟器中可用到的7200IOS
Cisco升级IOS失败后恢复IOS方法
Cisco Catalyst 2950 交换机IOS固件。 版本:c2950-i6q4l2-mz.121-22.EA6。
思科2950交换机IOS备份与恢复