new: cac安装脚本

main
huangfeng 1 year ago
parent 6f1d3a7de4
commit 98aac57292

@ -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

@ -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
Loading…
Cancel
Save