自动化部署脚本
-
boot.sh
#!/bin/bash #要管理的服务器,全部自动化部署安装jdk #一共三台服务器,ip之间用空格隔开 SERVERS="192.168.248.128 192.168.248.129 192.168.248.131" #三台服务器的密码,需要都一样 PASSWORD=123456 #主机,就是执行脚本的主机 BASE_SERVER=192.168.248.130 #实现免密码登陆 auto_ssh_copy_id() { expect -c "set timeout -1; spawn ssh-copy-id $1; expect { *(yes/no)* {send -- yes\r;exp_continue;} *password:* {send -- no\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
install.sh
```shell
#!/bin/bash
BASE_SERVER=192.168.248.130
yum install -y wget
wget $BASE_SERVER/soft/jdk-9.0.4_linux-x64_bin.tar.gz
tar -zxvf jdk-9.0.4_linux-x64_bin.tar.gz -C /root/local
cat >> /etc/profile << EOF
EXPORT JAVA_HOME=/root/apps/jdk-9.0.4
EXPORT PATH=$PATH:$JAVA_HOME/bin
EOF