#!/bin/bash
SOFTWARE_PATH='/opt/software' #jdk二进制安装包存放路径
JDK_VERSION='jdk1.8.0_131' #jdk的版本
JDK_INSTALL_PATH='/opt' #jdk的安装路径
#1 步骤输出 紫色
#2 正确输出 绿色
#3 错误输出 红色
#4 提示输出 蓝色
#5 警告输出 黄色
function echo_fun(){
if [ $# -ge 2 ];then
params_num=$1
shift 1
params_mes=$@
else
echo_fun 3 请至少输入两个参数 echo_fun ..
exit
fi
case $params_num in
1)
echo -e "\033[35;40;1m ****************************** ${params_mes} ******************************\033[0m\r\n"
;;
2)
echo -e "\033[32;40;1m ${params_mes}\033[0m\r\n"
;;
3)
echo -e "\033[31;40;1m ${params_mes}\033[0m\r\n"
;;
4)
echo -e "\033[36;40;1m ${params_mes}\033[0m\r\n"
;;
5)
echo -e "\033[33;40;1m ${params_mes} \033[0m\r\n"
;;
*)
echo_fun 3 参数异常第一个参数应为1,2,3,4,5
;;
esac
}
#es安装的集群机器主机名
host_name=(
wyl01
wyl02
wyl03
)
#解压jdk的二进制包,并设置软连接,和改变其属组属性。
function extract_tar(){
echo_fun 1 jdk的部署安装
cd $SOFTWARE_PATH
sleep 1s
echo_fun 4 解压jdk二进制包,并创建软连接
tar -xf ${JDK_VERSION}.tar.gz -C ${JDK_INSTALL_PATH}
ln -s ${JDK_INSTALL_PATH}/${JDK_VERSION} ${JDK_INSTALL_PATH}/java
}
#同步jdk安装包和软连接到其他的集群机器上
function rsync_tar(){
echo_fun 4 同步jdk安装包和软连接到其他的集群机器上
sleep 1s
cd ${JDK_INSTALL_PATH}
for ((i=1;i<${#host_name[*]};i++))
do
rsync -av java ${JDK_VERSION} ${host_name[i]}:/opt
done
echo_fun 2 同步成功
}
#配置环境变量
function etc_profile(){
for ((i=0;i<${#host_name[*]};i++))
do
echo_fun 4 配置${host_name[i]}机器上的环境变量
ssh -Tq root@${host_name[i]} <<remotessh
echo -e '\nexport JAVA_HOME=${JAVA_INSTALL_PATH}/java\nexport PATH=\${JAVA_HOME}/bin:\$PATH'>> /etc/profile
source /etc/profile
exit
remotessh
done
}
extract_tar
rsync_tar
etc_profile
登录 | 立即注册