自动化脚本之jdk8安装(多台服务)

2019-08-22  本文已影响0人  Wpixel

子曰:“吾十有五而志于学,三十而立,四十而不惑,五十而知天命,六十而耳顺,七十而从心所欲,不逾矩。”

> 解决的问题

对于多台机器配置jdk的情况,又不想一台一台的配置(浪费时间)衍生而出的脚本

实现了:一次执行,完成N台配置

> 思路方案

  1. jdk安装文件放在app目录,app目录和脚本在同级目录
  2. 解压当前jdk, 并重命名文件目录为jdk8(方便管理)
  3. 循环遍历服务器ip地址
  4. 开始拷贝jdk8到指定ip服务器
  5. 添加环境变量
  6. 返回第三部,直到ip地址遍历完

show code O(∩_∩)O

#!/bin/bash

#=================================
#这一点非常重要
#执行这个脚本的前提必须依据配置了免密登录
#=================================

#主机名或ip地址 (ip地址用空格分开)
SERVICES="10.211.55.3 10.211.55.4 10.211.55.5 10.211.55.6"

#jdk文件
#jdk_name=jdk-8u221-linux-x64.tar.gz

#4.配置环境变量
config_etc_profile(){
        echo "---配置$1环境变量---"
        ssh $1 'echo 'export JAVA_HOME=/usr/local/jdk8' >> /etc/profile';
        ssh $1 'echo 'export PATH="'$'"PATH:"'$'"JAVA_HOME/bin:"'$'"JAVA_HOME/lib' >> /etc/profile';
        echo "---刷新$1环境变量---"
        ssh $1 "source /etc/profile";
}

#3.拷贝jdk文件到指定服务器
copy_jdk_to_server(){
        echo "---将jdk目录拷贝到$1---"
        scp -r /usr/local/jdk8/ root@$1:/usr/local/;
        #调用配置环境变量的方法
        config_etc_profile $1
}

#2.解压jdk安装文件
tar_zxvf_jdk_file(){
        echo "解压jdk安装文件"
        tar -zxvf jdk/*  -C /usr/local/
        #因为不同版本的jdk解压后,生成的文件目录不确定,所以统一改成jdk8,方便管理
        mv /usr/local/$(ls /usr/local/ | grep jdk) /usr/local/jdk8;

}

main(){
        #调用解压方法
        tar_zxvf_jdk_file
        for SERVICE in $SERVICES
        do
                echo "--$SERVICE--"
                #拷贝文件
                copy_jdk_to_server $SERVICE
        done
}

#1.调用主程序
main

THE END


作者是一名自由程序员,住在上海,喜欢音乐、小说、旅行、以及编程。

P.S. 如果您喜欢这篇文章并且希望学习编程技术的话,请关注一下

上一篇 下一篇

猜你喜欢

热点阅读