This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
nms-nmsdoc/nmsclient/NC_Batch/NC_install/nc_install.sh
2019-04-02 09:52:52 +08:00

122 lines
3.4 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
#带颜色输出内容
#$1 颜色 red green yellow 警告 red 成功 green 提示/输入 yellow
#$2 输出语句
#$3 -n y/n 是否换行输出
function pinfo(){
LINE=""
if [[ "$#" -gt 2 ]]; then
#statements
if [[ "$3" = "n" ]]; then
#statements
LINE="-n"
fi
fi
case $1 in
"red")
echo -e $LINE "\e[1;31m "${2}"\e[0m"
;;
"green")
echo -e $LINE "\e[1;32m "${2}"\e[0m"
;;
"yellow")
echo -e $LINE "\e[1;33m "${2}"\e[0m"
;;
"blue")
echo -e $LINE "\e[1;34m "${2}"\e[0m"
;;
*)
echo $LINE $2
;;
esac
}
if [[ "$#" < 2 ]]; then
pinfo red "the script need parameters:dc host and node ip file ! "
exit
fi
#IP_RE="((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))"
IP_RE="^([0-9]{1,3}.){3}[0-9]{1,3}$"
#dc的ip
DC_HOST="$1"
#保存需要安装nc机器ip的文件
NODE_FILE="$2"
#nc安装目录
INSTALL_DIR="/home/ceiec/nms"
if [[ "$DC_HOST" =~ $IP_RE ]]; then
echo -n ""
else
pinfo red "the first parameter dc host is invalid!"
exit
fi
(head "$NODE_FILE" >/dev/null 2>&1)
if [[ "$?" == 1 ]];then
pinfo red "the second parameter node ip file is invalid!"
exit
fi
#当前目录
TEMP=`dirname "$0"`
CUR_DIR=`cd "$TEMP";pwd`
#nc压缩包
NCNAME="nmsclient.tar.gz"
#jre压缩包
JRENAME="jre-7u80-linux-i586.tar.gz"
if [ "`uname -i`" = "x86_64" ];then
JRENAME="jre-7u80-linux-x64.tar.gz"
fi
#绝对路径
NCFILE=${CUR_DIR}"/"${NCNAME}
JREFILE=${CUR_DIR}"/"${JRENAME}
#jre安装目录
JRE_DIR="jre1.7.0_80"
if [[ ! -f "$NCFILE" ]];then
pinfo red "the nmsclient file is not exist!"
exit
fi
if [[ ! -f "$JREFILE" ]];then
pinfo red "the jre file is not exist!"
exit
fi
pinfo yellow "安装程序准备就绪···"
echo "========================================================="
pinfo yellow "开始拷贝jre文件···"
pscp -h "$NODE_FILE" "$JREFILE" /home
pinfo green "拷贝jre文件完成"
echo "========================================================="
pinfo yellow "开始拷贝NC安装程序···"
pscp -h "$NODE_FILE" "$NCFILE" /home
pinfo green "NC安装程序拷贝完成"
echo "========================================================="
function rand(){
min=$1
max=$(($2-$min+1))
num=$(date +%s%N)
echo $(($num%$max+$min))
}
pinfo yellow "开始安装NC···"
echo "========================================================="
prop_name="server_host"
PROP_FILE=${INSTALL_DIR}"/nmsclient/conf/myconfig.properties"
pssh -i -t 60 -h "$NODE_FILE" "mkdir -p ${INSTALL_DIR};mv /home/${NCNAME} ${INSTALL_DIR};tar -xzf ${INSTALL_DIR}/${NCNAME} -C ${INSTALL_DIR};mkdir -p ${INSTALL_DIR}/${JRE_DIR};mv /home/${JRENAME} ${INSTALL_DIR};tar -xzf ${INSTALL_DIR}/${JRENAME} -C ${INSTALL_DIR}/${JRE_DIR} --strip-components=1 ;ln -s ${INSTALL_DIR}/${JRE_DIR} ${INSTALL_DIR}/nmsjdk; sed -i 's|^$prop_name.*|$prop_name=$DC_HOST|' $PROP_FILE;echo '5-20 秒后启动nmsclient~';sleep $(rand 5 20);bash ${INSTALL_DIR}/nmsclient/shell/startup.sh;echo ${INSTALL_DIR}'/nmsclient/shell/startup.sh'>>/etc/rc.d/rc.local;chmod +x /etc/rc.d/rc.local;" 2>>error.log
pinfo green "程序安装完成!"