自動化部署指令碼(安裝jdk)
阿新 • • 發佈:2018-12-13
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
這個指令碼的功能是:
- 從bd1上下載jdk的壓縮包,
- 修改配置檔案,配置環境變數
5.讓指令碼增加執行的許可權:
6.在bd1上執行boot.sh指令碼.
在此之前 bd1一定要生成一個祕鑰 跟 公鑰
使用 ssh-keygen
使用 ./boot.sh 就可以直接運行了.
接下來就全部是全自動下載安裝了,最後在每一臺機器上使用命令 source /etc/profile
jdk就可以生效了