Linux批量操作

背景:
需要对几百台服务器进行一个漏洞修复操作,脚本已经准备完成,需要将脚本部署到各个服务器上并远程执行。

思路:
选中某一台服务器当样板机,然后将此机作为模板机,与各个机子做信任关系,并最终ssh远程拷贝相关文件并执行

环境:
OS:CentOS 6.5
模板机:192.168.1.11
--需要两个文件,hosts.cfg是主机列表
[root@dbg1_1 ~]# more hosts.cfg
172.13.129.51
172.13.129.52
172.13.129.53
。。。。。
172.13.129.150
172.13.129.151

--batch_run.sh是拷贝key到各个服务器的脚本,做信任关系
[root@dbg1_1 ~]# more batch_run.sh 
#!/bin/bash
#!/usr/bin/expect

passwd=123456

for ip in $(cat /root/hosts.cfg)
do

#echo $ip / ${pwd}

expect << EOF

spawn ssh-copy-id -i /root/.ssh/id_rsa.pub root@$ip


   expect {   

      "*yes/no" {send "yes\r" ;exp_continue}
      "*password:" {send "$passwd\r" ;exp_continue  }        
}   
EOF

done

--这个脚本是拷贝模板机文件到各个服务器上并解压远程执行
[root@dbg1_1 ~]# more batch_run_2.sh 
#!/bin/bash

for ip in $(cat /root/hosts.cfg)

do

scp /root/script.tar.gz root@${ip}:/root
ssh root@${ip} 'tar -zxvf /root/script.tar.gz'
ssh root@${ip} "sh /root/script/server/kenyon.sh ${ip} root test"

done
脚本还是比较简单,只是做信任关系时需要安装expect模块,另外各个服务器要通。

转载于:https://my.oschina.net/Kenyon/blog/406038

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值