利用批处理检查服务器宕机,批处理检查服务器端口
2010年07月06日
最近有一个小的要求需要用到批处理,我也不懂批处理,没办法只好现学现用。
由于我们单位的服务器有时会由于某种不明原因宕掉,目前宕了一次,虽然不是什么大问题,因为是集群宕掉一台不影响正常访问,但是上面对我们的考核就要大打拆扣了,因为管理服务器的人不想深夜或是某个时间点给你重启服务器,所以就想让我们弄个自动重启功能。如果宕了你重启就OK了,不用麻烦他们。弄就弄吧,只好试试看了。
因为我们的web服务器是2003的,应用服务器是weblogic,weblogic有关掉服务和起动服务的批处理。所以我们只要调用一下他先关了,再启动就万事大吉了。没什么太大难事,毕竟不懂批处理脚本编程,自然就上网查资料罗。网上好像没有找到现成的,晕,有关教程也千编一律,大抄特抄的。首先要确定是检测服务器是否宕掉,原理自然就是telnet IP+端口了,那我就新建一个bat文件,注意文件名,我第一次用的是telnet.bat;NND一运行都是些什么乱七八糟的东西,我还以为是哪里弄错,最后改了一个名字竟然就OK了,狂晕!! 看看代码吧!很简单的哦echo off telnet 127.0.0.1 8080 if errorlevel 0 goto t1 goto end :t1 echo 打开端口成功 exit :end echo 打开端口失败 pause 简单吧,这个名我就叫ddd.bat;telnet 以后,判断回显码,是0说明成功。跳到t1处,如果失败就会继续往下执行goto end;
这就是判断,重启服务的话就在end里加start stope服务批处理;再加start服务批处理就可以了.这里只是检查,我们另外还得写一个循环不断去调用这个bat文件就可以了,很隔一段时间就调用一下。 @echo off :start echo wscript.sleep wscript.arguments(0)*1000*60>delay.vbs delay.vbs 5 start ddd.bat goto start del delay.vbs echo ok!
2010年07月06日
最近有一个小的要求需要用到批处理,我也不懂批处理,没办法只好现学现用。
由于我们单位的服务器有时会由于某种不明原因宕掉,目前宕了一次,虽然不是什么大问题,因为是集群宕掉一台不影响正常访问,但是上面对我们的考核就要大打拆扣了,因为管理服务器的人不想深夜或是某个时间点给你重启服务器,所以就想让我们弄个自动重启功能。如果宕了你重启就OK了,不用麻烦他们。弄就弄吧,只好试试看了。
因为我们的web服务器是2003的,应用服务器是weblogic,weblogic有关掉服务和起动服务的批处理。所以我们只要调用一下他先关了,再启动就万事大吉了。没什么太大难事,毕竟不懂批处理脚本编程,自然就上网查资料罗。网上好像没有找到现成的,晕,有关教程也千编一律,大抄特抄的。首先要确定是检测服务器是否宕掉,原理自然就是telnet IP+端口了,那我就新建一个bat文件,注意文件名,我第一次用的是telnet.bat;NND一运行都是些什么乱七八糟的东西,我还以为是哪里弄错,最后改了一个名字竟然就OK了,狂晕!! 看看代码吧!很简单的哦echo off telnet 127.0.0.1 8080 if errorlevel 0 goto t1 goto end :t1 echo 打开端口成功 exit :end echo 打开端口失败 pause 简单吧,这个名我就叫ddd.bat;telnet 以后,判断回显码,是0说明成功。跳到t1处,如果失败就会继续往下执行goto end;
这就是判断,重启服务的话就在end里加start stope服务批处理;再加start服务批处理就可以了.这里只是检查,我们另外还得写一个循环不断去调用这个bat文件就可以了,很隔一段时间就调用一下。 @echo off :start echo wscript.sleep wscript.arguments(0)*1000*60>delay.vbs delay.vbs 5 start ddd.bat goto start del delay.vbs echo ok!