zoukankan      html  css  js  c++  java
  • (32)自动化部署脚本

    要求: 编写自动化脚本,在所有机器上安装jdk。其中一台机器作为拥有jdk的yum仓库服务器,其他的机器都要从该yum服务器中下载jdk并安装。

    自动化脚本分为两个文件,boot.sh和install.sh。

    boot.sh:运行在提供yum仓库的机器上,它会配置本机器到其余机器的免密ssh登录,然后发送install.sh脚本到各台机器上,并在其他机器上启动install.sh脚本。

    install.sh:首先用yum安装wget(yum install -y wget),然后从httpd服务器上下载jdk(wget http://mini4/soft/jdk.tar.gz),最后解压和修改配置文件

    前提:每台机器都要有scp命令

    脚本的详细代码:

    boot.sh:

    BASE_SERVER=172.16.203.100

    //配置ssh免密登录
    auto_ssh_copy_id() {
    expect -c "set timeout -1;
    spawn ssh-copy-id $1; # 执行命令
    expect {
    *(yes/no)* {send -- yes ;exp_continue;} # 如果系统提示带有yes/no,就输入yes然后回车
    *assword:* {send -- $2 ;exp_continue;} # 如果系统提示带有assword,就输入PASSWORD然后回车
    eof {exit 0;} # 不再提示,就退出
    }";
    }
    # set timeout -1; : 无限制地等待系统的响应提示,不会超时

    ssh_copy_id_to_all() {
    for SERVER in $SERVERS
    do
    auto_ssh_copy_id $SERVER $PASSWORD
    # 调用auto_ssh_copy_id函数,传入两个参数SERVER和PASSWORD
    done
    }

    ssh_copy_id_to_all


    for SERVER in $SERVERS
    do
    scp install.sh root@$SERVER:/root # 发送install.sh脚本给其他机器
    ssh root@$SERVER /root/install.sh # 在其他机器上启动脚本
    done

    install.sh:

    #!/bin/bash

    BASE_SERVER=mini4  # 提供yum仓库的机器
    yum install -y wget # 安装wget
    wget $BASE_SERVER/soft/jdk-7u45-linux-x64.tar.gz # 下载jdk
    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

    # cat 文件EOF...EOF,追加到/etc/profile文件里去
    # >>输出重定向 <<输入重定向

    详细操作步骤:

    cd /var/www/html/

    mkdir soft

    cp ~/jdk-7u45-linux-x64.tar.gz ./soft/

    chmod +x install.sh boot.sh  # 添加可执行权限

    ./boot.sh

  • 相关阅读:
    53. Maximum Subarray
    64. Minimum Path Sum
    28. Implement strStr()
    26. Remove Duplicates from Sorted Array
    21. Merge Two Sorted Lists
    14. Longest Common Prefix
    7. Reverse Integer
    412. Fizz Buzz
    linux_修改域名(centos)
    linux_redis常用数据类型操作
  • 原文地址:https://www.cnblogs.com/paradis/p/11380814.html
Copyright © 2011-2022 走看看