自动化部署脚本

一、目的:可以做软件的自动部署(例子:从一台机器上运行脚本,可以在n台主机上安装tomcat)

二、原理分析

  • 在一台机器上安装web服务器:httpd    
  • 在机器的这个目录下放置jdk包: /html/soft/jdk.tar.gz
  • 在这台主机上增加boot.sh  
  • boot.sh中 配置免密ssh登录   发送一个install.sh脚本到各台机器上,并启动这个脚本

三、条件:

  • 虚拟机必须可以联网  还不能联网的请转到:https://mp.csdn.net/postedit/101547712
  • scp命令可以使用 
  • ll /user/local/    ----查看是否有jdk,有就删掉   rm -rf /user/local/ jdk的命令
  • 配置免密登陆

  四、脚本及解析

  • 把jdk压缩包 (jdk-8u221-linux-x64.tar.gz)放到   /var/www/html/soft  目录下(没有就新建下哈)
  • 新建脚本boot.sh
  • 新建脚本install.sh
  • 给执行权限 chmod +x install.sh

五、脚本boot.sh

#! /bin/bash

SERVERS="cbossremote cust"
PASSWORD=******
BASE_SERVER=20.26.1.15

auto_ssh_copy_id() {
        expect -c "set timeout -1;
        spawn ssh-copy-id $1;
        expect {
                *(yes/no)* {send -- yes\r;exp_continue;}
                *password:* {send -- $2\r;exp_continue;}
                eof         {exit 0;}
        }";
}
ssh_copy_id_to_all() {
        for SERVER in $SERVERS
        do
          auto_ssh_copy_id $SERVER $PASSWORD
        done
}

ssh_copy_id_to_all

for SERVER in $SERVERS
do
        scp install.sh root@$SERVER:/root/bin
        ssh root@$SERVER /root/bin/install.sh
done

六、install.sh

#!/bin/bash

BASE_SERVER=20.26.1.14
yum install -y wget
wget $BASE_SERVER/soft/jdk-8u221-linux-x64.tar.gz
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /user/local
cat >> /etc/profile <<EOF
export JAVAHOME=/user/local/jdk1.7.0_45
export PATH=\$PATH:\$JAVA_HOME/bin
EOF

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值