1. 程式人生 > >自動化部署指令碼(安裝jdk)

自動化部署指令碼(安裝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 
[email protected]
$SERVER:/root ssh [email protected]$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就可以生效了