Board logo

标题: [文本处理] 批处理怎样在telnet下执行命令并进行下一步操作? [打印本页]

作者: qq3475534    时间: 2011-2-26 12:48     标题: 批处理怎样在telnet下执行命令并进行下一步操作?

在telnet 执行“cat /proc/uptime”
把返回值 */86400 (除86400)
然后得出的值再判断是否大于等于3
如果大于等于3,就执行reboot




希望大家完善它!

完整脚本如下。 但是就是还缺少一点东西,就是在telnet 下执行cat /proc/uptime  然后得出的值再判断是否大于等于3
如果大于等于3,就执行reboot


3天大约是 259200 谁写个判断是否大于258000秒后执行reboot的命令?




  1. @echo off
  2. echo set sh=WScript.CreateObject("WScript.Shell") >telnet_tmp.vbs
  3. echo WScript.Sleep 300 >>telnet_tmp.vbs
  4. echo sh.SendKeys "open 你的网络设备telnet登录IP" >>telnet_tmp.vbs
  5. echo WScript.Sleep 300 >>telnet_tmp.vbs
  6. echo sh.SendKeys "{ENTER}" >>telnet_tmp.vbs
  7. echo WScript.Sleep 300 >>telnet_tmp.vbs
  8. echo sh.SendKeys "你的用户名{ENTER}">>telnet_tmp.vbs
  9. echo WScript.Sleep 300 >>telnet_tmp.vbs
  10. echo sh.SendKeys "你的密码{ENTER}">>telnet_tmp.vbs
  11. echo WScript.Sleep 1000 >>telnet_tmp.vbs
  12. echo sh.SendKeys "reboot{ENTER}">>telnet_tmp.vbs
  13. start telnet
  14. cscript //nologo telnet_tmp.vbs
  15. del telnet_tmp.vbs
复制代码

更改为你的信息后,保存为任意 .bat运行即可


不足
希望能获取运行时间,根据运行时间决定是否要重启,和脚本循环运行。



希望版主 或者其他的朋友 帮助下!

[ 本帖最后由 qq3475534 于 2011-2-27 22:26 编辑 ]
作者: wc726842270    时间: 2011-2-26 14:48

就执行一次么?还是指某个时间段
比如从2011/1/29到2011/2/30
作者: qq3475534    时间: 2011-2-26 15:21     标题: 回复 2楼 的帖子

我是想每星期 周一 周三 周五 执行‘

或者是判断系统运行时间,在执行命令。
作者: caruko    时间: 2011-2-27 13:07

你应该在服务端上写好一个SHELL脚本,判断部分以及reboot命令都放在服务器上,TELNET直接调用就行了,而不应该在客户端上判断。


另外,现在支持SSL的TELNET工具很多,比如putty,还支持调用。
没有必要用不安全的telnet,很容易泄露账号密码。

[ 本帖最后由 caruko 于 2011-2-27 13:10 编辑 ]
作者: Batcher    时间: 2011-2-27 16:20     标题: 回复 4楼 的帖子

直接在crontab里面放一条reboot命令,就行了吧,设置为星期一和星期四执行。
作者: qq3475534    时间: 2011-2-27 22:37     标题: 回复 5楼 的帖子

我是用来定时从启WAYOS 软路由的。。。 那个LINUX 精简了很多东西,,很多命令无法运行的。
作者: caruko    时间: 2011-2-27 23:09

那么我建议你不要用windows自带的telnet,除非你用高级语言程序获取了它的IO句柄,除此我也不知道怎么获取telnet的输入输出,VBS那个是模拟键盘输入,不精准。

如果你会socket,那么随便用个语言写个程序就是。telnet 协议很简单的,就算不懂,那么固定的操作命令,抓包就行了。
如果不会socket编程,就试试用用nc吧,这个可以批处理下发送接收数据包。




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2