Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2073309
  • 博文数量: 470
  • 博客积分: 10206
  • 博客等级: 上将
  • 技术积分: 5620
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-03 12:50
文章分类

全部博文(470)

文章存档

2012年(1)

2011年(18)

2010年(47)

2009年(404)

分类:

2011-04-14 12:48:17

有一个远程的busybox机器只能支持telnet访问,而我需要在另外一个机器上访问该机器自动提取某些数据,以下是方法

方法一,用第三方expect包,在CentOS上调试通过

以下命令都在本地机器上执行

首先安装expect
#yum install expect

#cat myjob1.sh
#!/usr/bin/expect -f
spawn telnet xxx.xxx.xxx.xxx       #远程机器IP
expect -re "login"
send "yourusername\n"          #登录远程机器的用户名
expect -re "Password"
send "yourpw\n"          #登录远程机器的密码
expect -re "#"
send "date\n"          #登录后要在远程机器上执行的本地命令,这是只是查询远程机器的当地时间,你可以换成其他本地命令或脚本
expect -re "#"
send "exit\n"          #完成后退出
interact

方法二, 用内部命令,不用第三方包,在CentOS上调试通过
# cat myjob1.sh
#! /bin/bash
(
echo 'yourusername'          #登录远程机器的用户名
sleep 1
echo 'yourpw‘          #登录远程机器的密码
sleep 1
echo 'date'          #登录后要在远程机器上执行的本地命令
sleep 1
) | telnet xxx.xxx.xxx.xxx

要定时执行的话只需要把以上的脚本加到crontab就行

(以上为博主原创并测试通过)
阅读(11308) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~