day3 自动部署安装软件到其他的机器设备上

PS:原理是在本机创建boot.sh指向每一台主机,使用脚本命令去执行,然后就会自动安装软件

PS:boot.sh里面放着1.免密登录 2.发送每台机器install.sh
这个install.sh中放着 1.下载解压包,配置环境变量
PS:在配置免密登录的时候,不能等着,需要输入密码,用的是expert
这是boot.sh
#!/bin/bash

SERVERS="node-3.itcast.cn node-4.itcast.cn"    #需要安装机器
PASSWORD=123456
BASE_SERVER=172.16.203.100

auto_ssh_copy_id() {
    expect -c "set timeout -1;
        spawn ssh-copy-id $1;
        expect {
            *(yes/no)* {send -- yes
;exp_continue;}
            *assword:* {send -- $2
;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

#!/bin/bash

BASE_SERVER=mini4
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

PS :红色部分是为了 不创建文件然后追加到 /etc/profile文件中

PS: 然后给文件添加+x权限,然后执行程序。

原文地址:https://www.cnblogs.com/bee-home/p/7838239.html