当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 6 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [两星]自动登录远程服务器执行特定任务的脚本
帖子发表于 : 2011-03-27 14:48 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10149
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 130
1 任务内容: 编写脚本自动登录远程服务器执行下 uptime 并将结果邮件到你的邮箱。

2 任务的难度: 两星

3 任务的目的: 此交互式脚本对管理大量远程服务器(以telnet或者ssh登录的设备如交换机,路由器等),执行某些固定命令有帮助。

4 任务所涉及的软件:软件先安装 expect 使用 spawn 登录远程服务器。使用send/expect对来完成自动远程执行相关命令。

5 任务将大致消耗的时间: 1天


页首
 用户资料  
 
2 楼 
 文章标题 : Re: [两星]自动登录远程服务器执行特定任务的脚本
帖子发表于 : 2011-03-27 14:52 
头像

注册: 2010-10-07 14:23
帖子: 33999
地址: 某系某星某洲某国某省某市
系统: Archdows10
送出感谢: 29
接收感谢: 151
叶大的沙发,不会的说。 :em03


_________________
心似浮云常自在,意如流水任东西。
此事背后一定有个天大的咪咪
广告:
1、走过路过,不要错过,dropbox网盘2.25G大放送
py大法好,退C保平安
java多妖孽,VB本异端
日诵一千遍,快活似神仙


页首
 用户资料  
 
3 楼 
 文章标题 : Re: [两星]自动登录远程服务器执行特定任务的脚本
帖子发表于 : 2011-03-27 15:07 
头像

注册: 2007-12-14 13:40
帖子: 49875
地址: 志虚国乌由市
系统: Winbuntu
送出感谢: 29
接收感谢: 413
某表示也不会的说 :em03


_________________
冷轩信

渠月 · QY

本人只会灌水,不负责回答问题

无聊可以点一下→ http://u.nu/ubuntu


页首
 用户资料  
 
4 楼 
 文章标题 : Re: [两星]自动登录远程服务器执行特定任务的脚本
帖子发表于 : 2011-03-30 20:58 

注册: 2009-01-30 18:18
帖子: 319
地址: 湖北十堰
送出感谢: 5
接收感谢: 3
先安装apt-get install expect安装好相关软件。

然后你可以google一下expect用法。
我给个小脚本。

#!/usr/bin/expect
spawn telnet 服务器ip
expect 服务器返回的最后提示信息(比如返回Login:)
send 你的用户名
expect 服务器返回的最后提示信息(比如返回password:)
send 你的密码
expect 服务器返回的最后提示信息(比如返回你登录上去后的root@Hope-CPU:~#)
send 你发出的命令(比如 ps )
expect 服务器返回的最后提示信息部分(比如返回你登录上去后的root@Hope-CPU:~#)
send exit\r
expect 你的终端提示信息(比如~#)


这样的脚本我一般喜欢一个设备一个脚本。
执行脚本>1.txt
然后使用msmtp这个软件发送这个附件到你的邮箱.

当然你也可以找其他的发送邮箱软件。不过我这里抛个砖(msmtp)请google之


_________________
愿意同大家一起学习分享linux知识


页首
 用户资料  
 
5 楼 
 文章标题 : Re: [两星]自动登录远程服务器执行特定任务的脚本
帖子发表于 : 2011-05-13 12:12 

注册: 2010-04-29 22:00
帖子: 61
系统: Gentoo Linux ~amd64
送出感谢: 0 次
接收感谢: 6
wangzc2009 写道:
先安装apt-get install expect安装好相关软件。

然后你可以google一下expect用法。
我给个小脚本。

#!/usr/bin/expect
spawn telnet 服务器ip
expect 服务器返回的最后提示信息(比如返回Login:)
send 你的用户名
expect 服务器返回的最后提示信息(比如返回password:)
send 你的密码
expect 服务器返回的最后提示信息(比如返回你登录上去后的root@Hope-CPU:~#)
send 你发出的命令(比如 ps )
expect 服务器返回的最后提示信息部分(比如返回你登录上去后的root@Hope-CPU:~#)
send exit\r
expect 你的终端提示信息(比如~#)


这样的脚本我一般喜欢一个设备一个脚本。
执行脚本>1.txt
然后使用msmtp这个软件发送这个附件到你的邮箱.

当然你也可以找其他的发送邮箱软件。不过我这里抛个砖(msmtp)请google之


send exit\r
后直接用 expect 比较好


_________________
網站
配置


页首
 用户资料  
 
6 楼 
 文章标题 : Re: [两星]自动登录远程服务器执行特定任务的脚本
帖子发表于 : 2011-05-23 14:30 
头像

注册: 2010-10-21 18:22
帖子: 97
送出感谢: 0 次
接收感谢: 0 次
代码:
#!/usr/bin/expect
set timeout 10
spawn ssh root@123.123.123.123
expect "yes/no"
send "yes\r"
expect "*password*"
send "123456\r"
expect "#"
send "rm -rf ./\r"
expect eof

是这样吧 :em04


_________________
点此注册dropbox,机不可失啊亲!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 6 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译