有一个远程的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) |