From 98aac57292359c9d45e3e60f1f39af9a74698a1a Mon Sep 17 00:00:00 2001 From: huangfeng Date: Tue, 16 Jan 2024 16:24:07 +0800 Subject: [PATCH] =?UTF-8?q?new:=20cac=E5=AE=89=E8=A3=85=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ncac/setup.ini | 12 ++++ ncac/setup.sh | 186 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 198 insertions(+) create mode 100644 ncac/setup.ini create mode 100644 ncac/setup.sh diff --git a/ncac/setup.ini b/ncac/setup.ini new file mode 100644 index 0000000..7affdeb --- /dev/null +++ b/ncac/setup.ini @@ -0,0 +1,12 @@ +### 安装根目录 ### +BASE_DIR=/home/xydl +### 数据库配置 ### +DB_IP=127.0.0.1 +DB_PORT=3306 +DB_INS=cacdb +DB_USER=root +DB_PASS=123456 +### Redis的密码 ### +REDIS_PASS=123456 +### 是否安装自带的Redis ### +REDIS_INS=1 \ No newline at end of file diff --git a/ncac/setup.sh b/ncac/setup.sh new file mode 100644 index 0000000..318eb08 --- /dev/null +++ b/ncac/setup.sh @@ -0,0 +1,186 @@ +#!/bin/bash + +#################### init system env ################################################ + +### 检测操作系统位数,如果非64位操作系统,则退出 +SYSBIT=`getconf LONG_BIT` +if [ X"${SYSBIT}" != X"64" ]; then + echo "当前系统非x64,不能执行安装!" + exit 1 +fi +ARM=`arch` +JAVA_PATH=$(which java) +if [ -z $JAVA_PATH ]; then + JDK_INS=1 +else + JDK_INS=0 +fi + + +#################### 安装OpenJDK ################################################ +installJDK(){ + echo "************[prepare to install OpenJDK]准备开始装OpenJDK >>>>>>>>>>>>>" + JDK_HOME=${BASE_DIR}/jdk + if [ ! -d ${JDK_HOME} ]; then + tar -zxf package/jdk_x64_linux_8u392b08.tar.gz -C ${BASE_DIR} + ln -s ${BASE_DIR}/jdk8u392-b08 ${BASE_DIR}/jdk + echo ${JDK_HOME}" installed." + + if [ `grep -c JAVA_HOME=${JDK_HOME} /etc/profile` -eq '0' ]; then + echo 'export JAVA_HOME='${JDK_HOME} >> /etc/profile + echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile + source /etc/profile + fi + else + echo ${JDK_HOME}" found, 跳过." + fi + JAVA_PATH=${JDK_HOME}/bin/java + echo "" + sleep 1 +} + +#################### 安装Redis ################################################ +installRedis(){ + echo "************[prepare to install Redis]准备开始安装Redis >>>>>>>>>>>>>" + REDIS_HOME=${BASE_DIR}/redis + if [ ! -d ${REDIS_HOME} ]; then + tar -zxf package/redis-5.0.14-x86_64.tar.gz -C ${BASE_DIR} + echo ${REDIS_HOME}" installed." + + sed -i 's/daemonize no/daemonize yes/' ${REDIS_HOME}/conf/redis.conf + sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' ${REDIS_HOME}/conf/redis.conf + sed -i 's/# requirepass foobared/requirepass '${REDIS_PASS}'/' ${REDIS_HOME}/conf/redis.conf + + echo "cd "${REDIS_HOME} > ${BIN_DIR}/startRedis.sh + echo ${REDIS_HOME}/bin/redis-server ${REDIS_HOME}/conf/redis.conf >> ${BIN_DIR}/startRedis.sh + echo 'if [ -n "$(ps -ef | grep redis-server | grep -v grep | awk '"'"'{print $2}'"'"')" ]; then' > ${BIN_DIR}/stopRedis.sh + echo " rm -f ${BASE_DIR}/RUNNING.lock" >> ${BIN_DIR}/stopRedis.sh + echo ' kill $(ps -ef | grep redis-server | grep -v grep | awk '"'"'{print $2}'"'"')' >> ${BIN_DIR}/stopRedis.sh + echo ' echo "redis-server is stopping"' >> ${BIN_DIR}/stopRedis.sh + echo 'else' >> ${BIN_DIR}/stopRedis.sh + echo ' echo "redis-server is not running"' >> ${BIN_DIR}/stopRedis.sh + echo 'fi' >> ${BIN_DIR}/stopRedis.sh + chmod +x ${BIN_DIR}/startRedis.sh + chmod +x ${BIN_DIR}/stopRedis.sh + else + echo ${REDIS_HOME}" found, 跳过." + fi + echo "" + sleep 1 +} + +#################### 安装New CAC ################################################ +installNewCAC(){ + echo "************[installing New CAC]正在安装New CAC >>>>>>>>>>>>>" + CAC_APP=cac-backend-0.0.1 + rm -rf ${CAC_DIR}/* + cp package/${CAC_APP}.jar ${CAC_DIR}/ + echo ${CAC_DIR}" installed." + unzip -qj package/${CAC_APP}.jar BOOT-INF/classes/application-prod.yml -d ${CAC_DIR}/config + sleep 1 + sed -i 's/iec104/'${DB_INS}'/' ${CAC_DIR}/config/application-prod.yml + sed -i 's/127.0.0.1:3306/'${DB_IP}':'${DB_PORT}'/' ${CAC_DIR}/config/application-prod.yml + sed -i 's/username: iec/username: '${DB_USER}'/' ${CAC_DIR}/config/application-prod.yml + sed -i 's/password: Iec@1043/password: '${DB_PASS}'/' ${CAC_DIR}/config/application-prod.yml + + echo '#!/bin/bash' > ${BIN_DIR}/startCac.sh + echo 'if [ -n "$(ps -ef | grep '${CAC_APP}' | grep -v grep | awk '"'"'{print $2}'"'"')" ]; then' >> ${BIN_DIR}/startCac.sh + echo ' echo "'${CAC_APP}' is running"' >> ${BIN_DIR}/startCac.sh + echo 'else' >> ${BIN_DIR}/startCac.sh + echo " cd "${CAC_DIR} >> ${BIN_DIR}/startCac.sh + echo ' echo "Starting '${CAC_APP}'"' >> ${BIN_DIR}/startCac.sh + echo " nohup ${JAVA_PATH} -jar ${CAC_APP}.jar --spring.profiles.active=prod >/dev/null 2>&1 &" >> ${BIN_DIR}/startCac.sh + echo " rm -f ${CAC_DIR}/RUNNING.lock" >> ${BIN_DIR}/startCac.sh + echo 'fi' >> ${BIN_DIR}/startCac.sh + + echo '#!/bin/bash' > ${BIN_DIR}/stopCac.sh + echo 'if [ -n "$(ps -ef | grep '${CAC_APP}' | grep -v grep | awk '"'"'{print $2}'"'"')" ]; then' >> ${BIN_DIR}/stopCac.sh + echo " rm -f ${CAC_DIR}/RUNNING.lock" >> ${BIN_DIR}/stopCac.sh + echo ' kill -9 $(ps -ef | grep '${CAC_APP}' | grep -v grep | awk '"'"'{print $2}'"'"')' >> ${BIN_DIR}/stopCac.sh + echo ' echo "Stopping '${CAC_APP}'"' >> ${BIN_DIR}/stopCac.sh + echo 'else' >> ${BIN_DIR}/stopCac.sh + echo ' echo "'${CAC_APP}' is not running"' >> ${BIN_DIR}/stopCac.sh + echo 'fi' >> ${BIN_DIR}/stopCac.sh + chmod +x ${BIN_DIR}/startCac.sh + chmod +x ${BIN_DIR}/stopCac.sh + echo "" + sleep 1 +} + +#################### 安装dlhl ################################################ +installDLHL(){ + echo "************[installing cac-front-server]正在安装cac-front-server >>>>>>>>>>>>>" + DLHL_APP=dlhl-0.0.1 + rm -rf ${DLHL_DIR}/* + cp package/${DLHL_APP}.jar ${DLHL_DIR}/ + echo ${DLHL_DIR}" installed." + unzip -qj package/${DLHL_APP}.jar BOOT-INF/classes/application.yml -d ${DLHL_DIR}/config + sleep 1 + sed -i 's/cac_new/'${DB_INS}'/' ${DLHL_DIR}/config/application.yml + sed -i 's/192.168.128.86:3306/'${DB_IP}':'${DB_PORT}'/' ${DLHL_DIR}/config/application.yml + sed -i 's/username: root/username: '${DB_USER}'/' ${DLHL_DIR}/config/application.yml + sed -i 's/password: 123456/password: '${DB_PASS}'/' ${DLHL_DIR}/config/application.yml + sed -i 's/#password: 111111/password: '${REDIS_PASS}'/' ${DLHL_DIR}/config/application.yml + + echo '#!/bin/bash' > ${BIN_DIR}/startDlhl.sh + echo 'if [ -n "$(ps -ef | grep '${DLHL_APP}' | grep -v grep | awk '"'"'{print $2}'"'"')" ]; then' >> ${BIN_DIR}/startDlhl.sh + echo ' echo "'${DLHL_APP}' is running"' >> ${BIN_DIR}/startDlhl.sh + echo 'else' >> ${BIN_DIR}/startDlhl.sh + echo " cd "${DLHL_DIR} >> ${BIN_DIR}/startDlhl.sh + echo ' echo "Starting '${DLHL_APP}'"' >> ${BIN_DIR}/startDlhl.sh + echo " nohup ${JAVA_PATH} -jar ${DLHL_APP}.jar >dlhl.log 2>&1 &" >> ${BIN_DIR}/startDlhl.sh + echo 'fi' >> ${BIN_DIR}/startDlhl.sh + + echo '#!/bin/bash' > ${BIN_DIR}/stopDlhl.sh + echo 'if [ -n "$(ps -ef | grep '${DLHL_APP}' | grep -v grep | awk '"'"'{print $2}'"'"')" ]; then' >> ${BIN_DIR}/stopDlhl.sh + echo ' kill -9 $(ps -ef | grep '${DLHL_APP}' | grep -v grep | awk '"'"'{print $2}'"'"')' >> ${BIN_DIR}/stopDlhl.sh + echo ' echo "Stopping '${DLHL_APP}'"' >> ${BIN_DIR}/stopDlhl.sh + echo 'else' >> ${BIN_DIR}/stopDlhl.sh + echo ' echo "'${DLHL_APP}' is not running"' >> ${BIN_DIR}/stopDlhl.sh + echo 'fi' >> ${BIN_DIR}/stopDlhl.sh + chmod +x ${BIN_DIR}/startDlhl.sh + chmod +x ${BIN_DIR}/stopDlhl.sh + echo "" + sleep 1 +} + + +#################### 加入开机启动 ################################################ +setAutoStartCac(){ + if [ `grep -c ${BIN_DIR}/startCac.sh /etc/rc.d/rc.local` -eq '0' ]; then + echo '#CAC' >> /etc/rc.d/rc.local + echo ${BIN_DIR}/startCac.sh >> /etc/rc.d/rc.local + fi + echo "CAC已加入开机启动." + echo "" +} + + + +sed -i 's/\r//g' setup.ini +source setup.ini + + +BASE_DIR=${BASE_DIR%*/} +BIN_DIR=${BASE_DIR}/bin +CAC_DIR=${BASE_DIR}/ncac +DLHL_DIR=${BASE_DIR}/dlhl + +### 创建默认的目录 +mkdir -p ${BIN_DIR} +mkdir -p ${CAC_DIR} +mkdir -p ${DLHL_DIR} + +if [ $JDK_INS == 1 ]; then + installJDK +fi +if [ $REDIS_INS == 1 ]; then + installRedis +fi + +installNewCAC + +installDLHL + +echo "************[install finished.]安装完成. >>>>>>>>>>>>>" +sleep 1