zoukankan      html  css  js  c++  java
  • 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权限,然后执行程序。

  • 相关阅读:
    Count the Buildings HDU
    Airport UVA
    17南宁网络赛
    git Please move or remove them before you can merge.
    php ajax bootstrap多文件上传图片预览,ajax上传文件
    thinkphp5多语言
    ueeditor 百度编译器使用onchange效果
    mysql sql_mode=only_full_group_by问题?
    mac navicate 2013
    mac Nginx+CI出现404错误
  • 原文地址:https://www.cnblogs.com/bee-home/p/7838239.html
Copyright © 2011-2022 走看看