利用Expect批量部署Linux服务器(2)

Expect循环登录多台服务器执行命令的脚本

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://127.0.0.1/wyysfj.html