免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 70311 | 回复: 6

Expect循环登录多台服务器执行命令的脚本 [复制链接]

论坛徽章:
0
发表于 2009-07-24 16:11 |显示全部楼层

Expect循环登录多台服务器执行命令的脚本
#!/usr/bin/expect
foreach IP {
61.152.114.188
61.152.114.185
.............
} {
#循环,可以多台相同密码的服务器同时处理,不同密码的需要改动一下,在下面再加一个密码的循环,
spawn ssh
[email=username@$IP]username@$IP[/email]
expect {
"*(yes/no)*" { send "yes\r"}
"password:" { send "123456\r" }
}            #SSH第一次远程登录服务器
expect "username"
send "su -\r"        #SSH普通用户名密码登录
expect "Password:"
send "123456\r"        #SSH的root用户名密码登录
expect -timeout 1
expect "root"
send "route add -net 10.1.1.0 netmask 255.255.255.0 gw 10.1.1.1\r"
}
#输入要执行的命令,这儿是加条路由。


#!/usr/bin/expect -f
for ((i=1;i*"
send "exec su -\r"
expect "Password:"
send "123456\r"
expect "*root]#"
send "exit\n"
done

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93621/showart_2006404.html

论坛徽章:
0
发表于 2010-10-11 19:40 |显示全部楼层
赞一个!!!!正需要呢!

论坛徽章:
0
发表于 2010-11-22 15:25 |显示全部楼层
恩恩!!  好东西 !!

论坛徽章:
0
发表于 2010-12-29 11:10 |显示全部楼层
赞,上次我没搞定:
cat host_file.txt |while
do
#your shell
done

结果自能执行第个host。想了个土方法用这个脚本生成了个脚本文件,再执行。

论坛徽章:
0
发表于 2010-12-29 11:32 |显示全部楼层
试了一下,晕,脚本无法执行

论坛徽章:
0
发表于 2011-01-27 19:58 |显示全部楼层
我迫切的想知道密码循环是怎么做到的!!!

论坛徽章:
0
发表于 2015-05-18 22:23 |显示全部楼层
个人觉得将IP,用户名,密码 全部放置在一个CSV 里面。再通过访问CSV更试用
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP