Expect循环登录多台服务器执行命令的脚本
2011-05-16 09:39
239 查看
#!/usr/bin/expect
foreach IP {
61.152.114.188
61.152.114.185
.............
} {
#循环,可以多台相同密码的服务器同时处理,不同密码的需要改动一下,在下面再加一个密码的循环,
spawn ssh username@$IP
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"
}
#输入要执行的命令,这儿是加条路由。
foreach IP {
61.152.114.188
61.152.114.185
.............
} {
#循环,可以多台相同密码的服务器同时处理,不同密码的需要改动一下,在下面再加一个密码的循环,
spawn ssh username@$IP
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"
}
#输入要执行的命令,这儿是加条路由。
相关文章推荐
- 使用expect脚本登录到root账号并执行命令
- 在linux下如何通过expect正确执行自动切换登录,并且执行命令和脚本
- 分发系统介绍,expect脚本远程登录,远程执行命令,传递参数
- 20.27分发系统介绍;20.28expect脚本远程登录;20.29expect脚本远程执行命令;20.30expect脚本传递参数
- 利用 expect 免密输入远程登录到服务器,并且执行命令,执行完后并退出mmmi
- 使用expect工具ssh登录远程服务器并执行命令操作
- 分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数
- 分发系统介绍 expect脚本远程登录 expect脚本远程执行命令 expect脚本传递参数
- 分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数
- ssh,expect脚本实现远程登录,拷贝命令scp,rsync服务器的搭建
- expect脚本自动化执行线上服务器命令
- 【shell编程】分发系统介绍、expect脚本远程登录、expect脚本远程执行命令和expect脚本传递参数
- 十七周三次课 2018.02.27分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数
- 分发系统介绍expect脚本远程登录expect脚本远程执行命令 expect脚本传递参数
- Linux之Shell脚本while循环ssh登录执行命令
- 分发系统介绍,expect脚本远程登录,expect脚本远程执行命令,expect脚本传递参数
- expect脚本同步文件、指定host和要同步的文件、构建文件分发系统、批量远程执行命令
- expect实现自动scp和ssh登录后执行命令,并向bash提供返回值
- python批量操作Linux服务器脚本,key登录(执行命令、上传、下载)(二)
- Shell脚本的循环:重复执行命令