知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

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

发布时间:2014-09-05 15:31:07作者:知识屋


不用公钥批量部署机器执行命令模版
 
案例:  www.zhishiwu.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
}
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜