自动化部署脚本(安装jdk)

1.先得保证每一台机器都安装了scp:
在这里插入图片描述

如果没有安装则进行安装:
安装scp: scp是在安装ssh的时候安装的,是在ssh的客户端软件里面的

yum list | grep ssh

在这里插入图片描述

安装的是openssh-clients.x86_64

yum install -y openssh-clients.x86_64

2.删除 .ssh 这个文件 之前可能配置了ssh (每一台都要删除 恢复到最原始的环境)

rm -rf .ssh

3.在基础机器(bd1)将jdk的压缩文件放到服务器上
在 /var/www/html 新建一个soft目录:
在这里插入图片描述
将jdk的压缩包复制到 /var/www/html/soft 目录下:
在这里插入图片描述
访问发现资源已经上传到服务器了
在这里插入图片描述

4.脚本:
4.1 脚本一:配置免密登录的脚本,需要给其他的机器设置免密登录:

#!/bin/bash

SERVERS="node-3.itcast.cn node-4.itcast.cn"
PASSWORD=thp151617
BASE_SERVER=172.16.203.100

auto_ssh_copy_id() {
    expect -c "set timeout -1;
#!/bin/bash

SERVERS="bd2 bd3 bd4"
PASSWORD=123456
BASE_SERVER=bd1

auto_ssh_copy_id() {
    expect -c "set timeout -1;
        spawn ssh-copy-id $1;
        expect {
            *(yes/no)* {send -- yes\r;exp_continue;}
            *assword:* {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
    ssh root@$SERVER /root/install.sh
done

上面的这段脚本的功能是这两个:
1.配置免密登录
2.使用scp将install.sh这个脚本发送其他的机器,

4.2脚本二:

#!/bin/bash

BASE_SERVER=bd1
yum install -y wget
wget $BASE_SERVER/soft/jdk-7u45-linux-x64.tar.gz
tar -zxvf jdk-7u45-linux-x64.tar.gz -C /usr/local
cat >> /etc/profile << EOF
export JAVA_HOME=/usr/local/jdk1.7.0_45
export PATH=\$PATH:\$JAVA_HOME/bin
EOF

这个脚本的功能是:

  1. 从bd1上下载jdk的压缩包,
  2. 修改配置文件,配置环境变量

5.让脚本增加执行的权限:
在这里插入图片描述

6.在bd1上执行boot.sh脚本.
在此之前 bd1一定要生成一个秘钥 跟 公钥
使用 ssh-keygen
使用 ./boot.sh 就可以直接运行了.
接下来就全部是全自动下载安装了,最后在每一台机器上使用命令 source /etc/profile jdk就可以生效了

猜你喜欢

转载自blog.csdn.net/qq_38200548/article/details/82925937