不用公钥批量部署机器执行命令模版



不用公钥批量部署机器执行命令模版
 
案例:  www.2cto.com  
脚本目的:两台以上机器(ip:172.16.1.187和172.16.1.188)去拷贝主控制机器IP:172.16.1.199上目录/liang/下的ceshi.sh脚本  (如果这儿有更多的目的要求可以按照以下方法扩展即可!)
以下脚本只需放在主控制端机器IP:172.16.1.199去运行即可实现目的!
法一:(连续ip)
vim bushu.sh
#!/usr/bin/expect -f
for {set i 187} {$i<=208} {incr i} {
spawn ssh -l root 172.16.1.$i
expect "*password: "
sleep 1
send "123456\r"
###可以继续提取关键词!
expect "root"
send "scp root@172.16.1.199:/liang/ceshi.sh /liang/\r"    #这儿是要批量去执行的命令操作!更多操作可类似并写!
 
###注意如果第一次连过去可能会让提示yes/no!如果是第一次还得加以下两行如下:
#expect "yes"
#send "yes\r"
expect "pasword:"
send "123456\r"
expect eof
}
 
法二:(不连续ip)
以上可以这样写: 
#!/usr/bin/expect -f
foreach ip {
172.16.1.187
172.16.1.188
}  {
spawn ssh -l root $ip
expect "*password: "
sleep 1
send "123456\r"
###可以继续提取关键词!
expect "root"
send "scp root@172.16.1.199:/liang/ceshi.sh /liang/\r"   #这儿是要批量去执行的命令操作!更多操作可类似并写!
###注意如果第一次连过去可能会让提示yes/no
expect "pasword:"
send "123456\r"
expect eof
}
 

相关内容

    暂无相关文章