diff --git a/ncac/setup.ini b/ncac/setup.ini index 32c7109..d315204 100644 --- a/ncac/setup.ini +++ b/ncac/setup.ini @@ -11,6 +11,9 @@ DB_PASS=123456 ### CAC是否加入开机启动 ### AUTO_START=1 +### 是否安装61850 ### +GUI_INS=1 + ### 是否安装自带的JDK ### JDK_INS=1 diff --git a/ncac/setup.sh b/ncac/setup.sh index 432a73d..42c9a3e 100644 --- a/ncac/setup.sh +++ b/ncac/setup.sh @@ -15,6 +15,7 @@ ARM=`arch` #################### 安装OpenJDK ################################################ installJDK(){ echo "************[prepare to install OpenJDK]准备开始装OpenJDK >>>>>>>>>>>>>" + echo "" JDK_HOME=${BASE_DIR}/jdk if [ ! -d ${JDK_HOME} ]; then tar -zxf package/jdk_x64_linux_8u392b08.tar.gz -C ${BASE_DIR} @@ -37,6 +38,7 @@ installJDK(){ #################### 安装Nginx ################################################ installNginx(){ echo "************[prepare to install Nginx]准备开始装Nginx >>>>>>>>>>>>>" + echo "" NGX_HOME=${BASE_DIR}/nginx if [ ! -d ${NGX_HOME} ]; then tar -zxf package/nginx.tar.gz -C ${BASE_DIR} @@ -59,6 +61,7 @@ installNginx(){ #################### 安装Redis ################################################ installRedis(){ echo "************[prepare to install Redis]准备开始安装Redis >>>>>>>>>>>>>" + echo "" REDIS_HOME=${BASE_DIR}/redis if [ ! -d ${REDIS_HOME} ]; then tar -zxf package/redis-5.0.14-x86_64.tar.gz -C ${BASE_DIR} @@ -89,6 +92,7 @@ installRedis(){ #################### 安装New CAC ################################################ installNewCAC(){ echo "************[installing New CAC]正在安装New CAC >>>>>>>>>>>>>" + echo "" APP_NAME=cac-backend-0.0.1 rm -rf ${CAC_DIR}/* cp package/${APP_NAME}.jar ${CAC_DIR}/ @@ -131,6 +135,71 @@ installNewCAC(){ sleep 1 } +#################### 安装61850 ################################################ +install61850(){ + echo "************[installing 61850]正在安装61850 >>>>>>>>>>>>>" + echo "" + QTDIR=${BASE_DIR}/Qt-4.8.6 + if [ ! -d ${QTDIR} ]; then + tar -zxf package/Qt-4.8.6.tar.gz -C ${BASE_DIR} + echo ${QTDIR}" installed." + else + echo ${QTDIR}" found, 跳过QT." + fi + echo "" + sleep 1 + + GUI_DIR=${BASE_DIR}/61850_GUI + rm -rf ${GUI_DIR} + tar -zxf package/61850_GUI.tar.gz -C ${BASE_DIR} + echo ${GUI_DIR}" installed." + echo "" + sleep 1 + if [ `grep -c QTDIR=${QTDIR} /etc/profile` -eq '0' ]; then + echo 'export QTDIR='${QTDIR} >> /etc/profile + echo 'export QT_HOME='${QTDIR} >> /etc/profile + echo 'export PATH=$PATH:'${QTDIR}'/bin:'${GUI_DIR} >> /etc/profile + echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:'${QTDIR}'/lib:'${QTDIR}'/plugins/sqldrivers:'${GUI_DIR} >> /etc/profile + source /etc/profile + fi + + sed -i 's/hostname=127.0.0.1/hostname='${DB_IP}'/' ${GUI_DIR}/syscfg.ini + sed -i 's/port=3306/port='${DB_PORT}'/' ${GUI_DIR}/syscfg.ini + sed -i 's/dbname=cacdb/dbname='${DB_INS}'/' ${GUI_DIR}/syscfg.ini + sed -i 's/usrname=root/usrname='${DB_USER}'/' ${GUI_DIR}/syscfg.ini + sed -i 's/psw=123456/psw='${DB_PASS}'/' ${GUI_DIR}/syscfg.ini + sed -i 's#/home/xydl#'${BASE_DIR}'#g' ${GUI_DIR}/check61850.sh + + APP_NAME=61850Gui_Release_zhenan + echo '#!/bin/bash' > ${BIN_DIR}/start61850.sh + echo 'export QTDIR='${QTDIR} >> ${BIN_DIR}/start61850.sh + echo 'export QT_HOME='${QTDIR} >> ${BIN_DIR}/start61850.sh + echo 'export PATH=$PATH:'${QTDIR}'/bin:'${GUI_DIR} >> ${BIN_DIR}/start61850.sh + echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:'${QTDIR}'/lib:'${QTDIR}'/plugins/sqldrivers:'${GUI_DIR} >> ${BIN_DIR}/start61850.sh + echo 'export DISPLAY=:0' >> ${BIN_DIR}/start61850.sh + echo 'if [ -n "$(ps -ef | grep '${APP_NAME}' | grep -v grep | awk '"'"'{print $2}'"'"')" ]; then' >> ${BIN_DIR}/start61850.sh + echo ' echo "'${APP_NAME}' is running"' >> ${BIN_DIR}/start61850.sh + echo 'else' >> ${BIN_DIR}/start61850.sh + echo " cd "${GUI_DIR} >> ${BIN_DIR}/start61850.sh + echo ' echo "Starting '${APP_NAME}'"' >> ${BIN_DIR}/start61850.sh + echo " nohup ./${APP_NAME} >>out.log 2>&1 &" >> ${BIN_DIR}/start61850.sh + echo " rm -f ${GUI_DIR}/RUNNING.lock" >> ${BIN_DIR}/start61850.sh + echo 'fi' >> ${BIN_DIR}/start61850.sh + + mv ${GUI_DIR}/stop61850.sh ${BIN_DIR}/ + mv ${GUI_DIR}/check61850.sh ${BIN_DIR}/ + + echo '#!/bin/bash' > ${BIN_DIR}/restart61850.sh + echo 'cd '${BIN_DIR} >> ${BIN_DIR}/restart61850.sh + echo "./stop61850.sh" >> ${BIN_DIR}/restart61850.sh + echo "./start61850.sh" >> ${BIN_DIR}/restart61850.sh + + chmod +x ${BIN_DIR}/start61850.sh + chmod +x ${BIN_DIR}/stop61850.sh + chmod +x ${BIN_DIR}/restart61850.sh + chmod +x ${BIN_DIR}/check61850.sh +} + #################### 加入开机启动 ################################################ setAutoStartCac(){ @@ -141,6 +210,18 @@ setAutoStartCac(){ echo "CAC已加入开机启动." echo "" } +setAutoStart61850(){ + if [ `grep -c ${BIN_DIR}/start61850.sh /etc/rc.d/rc.local` -eq '0' ]; then + echo '#61850' >> /etc/rc.d/rc.local + echo ${BIN_DIR}/start61850.sh >> /etc/rc.d/rc.local + fi + echo "61850已加入开机启动." + echo "" + job="* * * * * ${BIN_DIR}/check61850.sh > /dev/null 2>&1 " + crontab -l | grep -v "$job"; echo "$job" | crontab - + echo "61850巡检任务已加入crontab." + echo "" +} setAutoStartRedis(){ if [ `grep -c ${BIN_DIR}/startRedis.sh /etc/rc.d/rc.local` -eq '0' ]; then echo '#Redis' >> /etc/rc.d/rc.local @@ -199,6 +280,13 @@ if [ $AUTO_START == 1 ]; then setAutoStartCac fi +if [ $GUI_INS == 1 ]; then + install61850 + if [ $AUTO_START == 1 ]; then + setAutoStart61850 + fi +fi + if [ $NGINX_INS == 1 ]; then installNginx setAutoStartNginx