介绍:
基本信息
作者:朱明宇
名称:批量实现多个远程服务器执行本主机的一个脚本
作用:将本主机的某个脚本批量拷贝到多个远程服务器并执行
使用方法
1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 执行此脚本
脚本分割线里的变量
1. nm=192.168.4.0 #网段,网段必须为 C 类网段,请保证格式和前 3 个网络位一定正确
2. sip=50 #起始 IP 地址,IP 地址的范围是 0-255
3. lip=57 #结束 IP 地址,IP 地址的范围是 0-255
4. pd=123456 #其他服务器的 root 远程登录密码
5. fn=’ssh-copy-id.sh’ #要远程执行的脚本的名称
注意
此脚本执行前必须要先保证执行本脚本的用户能无密码 ssh 远程这些远程服务器
脚本:
#!/bin/bash
####################### Separator ########################
nm=192.168.4.0
sip=50
lip=57
pd=123456
fn='ssh-copy-id.sh'
####################### Separator ########################
fnm=${nm%.*}
for i in `seq $sip $lip`
do
ping -c3 -i0.3 -w1 $fnm.$i &> /dev/null
if [ $? -ne 0 ];then
echo "$fnm.$i can't be connected"
else
scp $fn $fnm.$i:/root/
ssh $fnm.$i "chmod +x /root/$fn"
ssh $fnm.$i "bash /root/$fn"
ssh $fnm.$i "rm -rf /root/$fn"
echo "$fn has been executed on $fnm.$i"
fi
done