new: mqtt安装脚本

main
huangfeng 1 year ago
commit 51eb1a38fd

Binary file not shown.

@ -0,0 +1,20 @@
#!/bin/bash
pidAna=`ps -ef |grep mqtt-1.0.0 | grep -v 'grep'| awk '{print $2}'`
err=0
if [ ! $pidAna ]; then
echo "mqtt-1.0.0 is down"
err=1
else
echo "mqtt-1.0.0 is running"
fi
if [ $err == 0 ]; then
touch BASE_DIR/RUNNING.lock
else
if [ -e "BASE_DIR/RUNNING.lock" ]; then
BASE_DIR/startMqtt.sh
fi
fi

@ -0,0 +1,108 @@
--
-- Table structure for table `sync_tables_info`
--
DROP TABLE IF EXISTS sync_tables_info;
CREATE TABLE sync_tables_info (
client_id int(10) unsigned NOT NULL,
`table_name` varchar(64) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',
`sql` varchar(2048) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',
devid_field_name varchar(64) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',
outer_devid_fname varchar(64) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',
field_name varchar(64) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',
field_type tinyint(4) NOT NULL DEFAULT '1' COMMENT '1: 整数 2: 字符串 3: 日期 4: 浮点数',
update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (client_id,`table_name`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Table structure for table `sync_fields_info`
--
DROP TABLE IF EXISTS sync_fields_info;
CREATE TABLE sync_fields_info (
id int(10) unsigned NOT NULL AUTO_INCREMENT,
client_id int(10) unsigned NOT NULL,
`table_name` varchar(64) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',
field_name varchar(64) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',
field_type tinyint(3) unsigned NOT NULL DEFAULT '0',
dest_field_name varchar(128) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',
sensorindex int(11) NOT NULL,
PRIMARY KEY (id) USING BTREE,
KEY `fields` (client_id,`table_name`,field_name) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Table structure for table `sync_records`
--
DROP TABLE IF EXISTS sync_records;
CREATE TABLE sync_records (
client_id int(10) unsigned NOT NULL,
`table_name` varchar(64) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',
devid_val varchar(64) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',
field_val1 bigint(20) unsigned DEFAULT '0',
field_val2 datetime DEFAULT '2000-01-01 01:00:00',
update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (client_id,`table_name`,devid_val) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of sync_tables_info
-- ----------------------------
INSERT INTO sync_tables_info VALUES (10,'data_eaif_h','','eqmid','sensorid','capturetime',3,'2023-12-25 09:13:25');
INSERT INTO sync_tables_info VALUES (10,'data_eia_h','','eqmid','sensorid','d_time',3,'2023-12-25 09:13:25');
INSERT INTO sync_tables_info VALUES (10,'data_epa_h','','eqmid','sensorid','d_time',3,'2023-12-25 09:13:25');
INSERT INTO sync_tables_info VALUES (10,'data_microclimate_h','','eqmid','sensorid','d_time',3,'2023-12-25 09:13:25');
INSERT INTO sync_tables_info VALUES (10,'data_pd_h','','eqmid','sensorid','d_time',3,'2023-12-25 09:13:25');
INSERT INTO sync_tables_info VALUES (10,'data_scur_h','','eqmid','sensorid','d_time',3,'2023-12-25 09:13:25');
INSERT INTO sync_tables_info VALUES (10,'data_sf6_h','','eqmid','sensorid','d_time',3,'2023-12-25 09:13:25');
-- ----------------------------
-- Records of sync_fields_info
-- ----------------------------
INSERT INTO sync_fields_info VALUES (1,10,'data_eaif_h','maxtemp',4,'MaxTemp',1);
INSERT INTO sync_fields_info VALUES (2,10,'data_eaif_h','mintemp',4,'MinTemp',1);
INSERT INTO sync_fields_info VALUES (3,10,'data_eaif_h','avgtemp',4,'avgtemp',1);
INSERT INTO sync_fields_info VALUES (4,10,'data_eaif_h','phase',2,'Phase',1);
INSERT INTO sync_fields_info VALUES (8,10,'data_eia_h','phase',2,'Phase',1);
INSERT INTO sync_fields_info VALUES (9,10,'data_eia_h','d_ct_1',4,'TotalCoreCurrent',1);
INSERT INTO sync_fields_info VALUES (13,10,'data_epa_h','h2ppm',0,'H2',1);
INSERT INTO sync_fields_info VALUES (14,10,'data_epa_h','ch4ppm',0,'CH4',1);
INSERT INTO sync_fields_info VALUES (15,10,'data_epa_h','c2h6ppm',0,'C2H6',1);
INSERT INTO sync_fields_info VALUES (16,10,'data_epa_h','c2h4ppm',0,'C2H4',1);
INSERT INTO sync_fields_info VALUES (17,10,'data_epa_h','c2h2ppm',0,'C2H2',1);
INSERT INTO sync_fields_info VALUES (18,10,'data_epa_h','coppm',0,'CO',1);
INSERT INTO sync_fields_info VALUES (19,10,'data_epa_h','co2ppm',0,'CO2',1);
INSERT INTO sync_fields_info VALUES (20,10,'data_epa_h','o2ppm',0,'O2',1);
INSERT INTO sync_fields_info VALUES (21,10,'data_epa_h','n2ppm',0,'N2',1);
INSERT INTO sync_fields_info VALUES (22,10,'data_epa_h','totalhydrocarbon',0,'TotalHydrocarbon',1);
INSERT INTO sync_fields_info VALUES (23,10,'data_epa_h','gaspress',0,'GasPress',1);
INSERT INTO sync_fields_info VALUES (24,10,'data_epa_h','h2oppm',0,'H2O',1);
INSERT INTO sync_fields_info VALUES (28,10,'data_microclimate_h','envtmp',0,'AirTemperature',1);
INSERT INTO sync_fields_info VALUES (29,10,'data_microclimate_h','envpres',0,'AirPressure',1);
INSERT INTO sync_fields_info VALUES (30,10,'data_microclimate_h','envhum',0,'Humidity',1);
INSERT INTO sync_fields_info VALUES (31,10,'data_microclimate_h','rnfll',0,'Precipitation',1);
INSERT INTO sync_fields_info VALUES (35,10,'data_pd_h','waveform',0,'DischargeCapacity',1);
INSERT INTO sync_fields_info VALUES (36,10,'data_pd_h','apppadsch',0,'DischargePosition',1);
INSERT INTO sync_fields_info VALUES (37,10,'data_pd_h','plsnum',0,'PulseCount',1);
INSERT INTO sync_fields_info VALUES (38,10,'data_pd_h','waveform',0,'DischargeCapacity',1);
INSERT INTO sync_fields_info VALUES (39,10,'data_pd_h','apppadsch',0,'MaxDsch',1);
INSERT INTO sync_fields_info VALUES (40,10,'data_pd_h','plsnum',0,'PulseCount',1);
INSERT INTO sync_fields_info VALUES (41,10,'data_pd_h','padschalm',0,'SupDevRun',1);
INSERT INTO sync_fields_info VALUES (42,10,'data_pd_h','padschtype',0,'DschType',1);
INSERT INTO sync_fields_info VALUES (43,10,'data_pd_h','nqs',0,'AvDsch',1);
INSERT INTO sync_fields_info VALUES (50,10,'data_scur_h','current_val',0,'CoreCurrent',1);
INSERT INTO sync_fields_info VALUES (61,10,'data_sf6_h','ddt1',0,'Dewpoint',1);
INSERT INTO sync_fields_info VALUES (62,10,'data_sf6_h','md1',0,'Density',1);
INSERT INTO sync_fields_info VALUES (63,10,'data_sf6_h','pm1',0,'Moisture',1);
INSERT INTO sync_fields_info VALUES (64,10,'data_sf6_h','pressure1',0,'Pressure20C',1);
INSERT INTO sync_fields_info VALUES (65,10,'data_sf6_h','temp1',0,'Temperature',1);
INSERT INTO sync_fields_info VALUES (66,10,'data_sf6_h','ddt2',0,'Dewpoint',2);
INSERT INTO sync_fields_info VALUES (67,10,'data_sf6_h','md2',0,'Density',2);
INSERT INTO sync_fields_info VALUES (68,10,'data_sf6_h','pm2',0,'Moisture',2);
INSERT INTO sync_fields_info VALUES (69,10,'data_sf6_h','pressure2',0,'Pressure20C',2);
INSERT INTO sync_fields_info VALUES (70,10,'data_sf6_h','temp2',0,'Temperature',2);
INSERT INTO sync_fields_info VALUES (71,10,'data_sf6_h','ddt3',0,'Dewpoint',3);
INSERT INTO sync_fields_info VALUES (72,10,'data_sf6_h','md3',0,'Density',3);
INSERT INTO sync_fields_info VALUES (73,10,'data_sf6_h','pm3',0,'Moisture',3);
INSERT INTO sync_fields_info VALUES (74,10,'data_sf6_h','pressure3',0,'Pressure20C',3);
INSERT INTO sync_fields_info VALUES (75,10,'data_sf6_h','temp3',0,'Temperature',3);

@ -0,0 +1,8 @@
### 安装根目录 ###
BASE_DIR=/home/xydl
### 数据库配置 ###
DB_IP=10.0.17.25
DB_PORT=3306
DB_INS=cacdb
DB_USER=root
DB_PASS=123456

@ -0,0 +1,92 @@
#!/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
echo "Java未安装"
exit 1
fi
#################### 安装CAC Mqtt ################################################
installMqtt(){
echo "************[installing CAC Mqtt]正在安装CAC Mqtt >>>>>>>>>>>>>"
rm -rf ${ANA_DIR}/*
cp package/mqtt-1.0.0.jar ${ANA_DIR}/
echo ${ANA_DIR}" installed."
unzip -qj package/mqtt-1.0.0.jar BOOT-INF/classes/application-prod.yml -d ${ANA_DIR}/config
sleep 1
sed -i 's/cac/'${DB_INS}'/' ${ANA_DIR}/config/application-prod.yml
sed -i 's/localhost:3306/'${DB_IP}':'${DB_PORT}'/' ${ANA_DIR}/config/application-prod.yml
sed -i 's/username: root/username: '${DB_USER}'/' ${ANA_DIR}/config/application-prod.yml
sed -i 's/password: root/password: '${DB_PASS}'/' ${ANA_DIR}/config/application-prod.yml
sed -i 's#/home/xydl/mqtt/logs/mqtt.log#'${BIN_DIR}'/logs/mqtt.log#' ${ANA_DIR}/config/application-prod.yml
echo 'if [ -n "$(ps -ef | grep mqtt-1.0.0 | grep -v grep | awk '"'"'{print $2}'"'"')" ]; then' > ${BIN_DIR}/startMqtt.sh
echo ' echo "mqtt-1.0.0 is running"' >> ${BIN_DIR}/startMqtt.sh
echo 'else' >> ${BIN_DIR}/startMqtt.sh
echo " cd "${ANA_DIR} >> ${BIN_DIR}/startMqtt.sh
echo ' echo "Starting mqtt-1.0.0"' >> ${BIN_DIR}/stopMqtt.sh
echo " nohup ${JAVA_PATH} -jar mqtt-1.0.0.jar --spring.profiles.active=prod >/dev/null 2>&1 &" >> ${BIN_DIR}/startMqtt.sh
echo " rm -f ${ANA_DIR}/RUNNING.lock" >> ${BIN_DIR}/startMqtt.sh
echo 'fi' >> ${BIN_DIR}/startMqtt.sh
echo 'if [ -n "$(ps -ef | grep mqtt-1.0.0 | grep -v grep | awk '"'"'{print $2}'"'"')" ]; then' > ${BIN_DIR}/stopMqtt.sh
echo " rm -f ${ANA_DIR}/RUNNING.lock" >> ${BIN_DIR}/stopMqtt.sh
echo ' kill $(ps -ef | grep mqtt-1.0.0 | grep -v grep | awk '"'"'{print $2}'"'"')' >> ${BIN_DIR}/stopMqtt.sh
echo ' echo "Stopping mqtt-1.0.0"' >> ${BIN_DIR}/stopMqtt.sh
echo 'else' >> ${BIN_DIR}/stopMqtt.sh
echo ' echo "mqtt-1.0.0 is not running"' >> ${BIN_DIR}/stopMqtt.sh
echo 'fi' >> ${BIN_DIR}/stopMqtt.sh
chmod +x ${BIN_DIR}/startMqtt.sh
chmod +x ${BIN_DIR}/stopMqtt.sh
echo ""
sleep 1
}
#################### 加入开机启动 ################################################
setAutoStartMqtt(){
if [ `grep -c ${BIN_DIR}/startMqtt.sh /etc/rc.d/rc.local` -eq '0' ]; then
echo '#CAC Mqtt' >> /etc/rc.d/rc.local
echo ${BIN_DIR}/startMqtt.sh >> /etc/rc.d/rc.local
fi
echo "CAC Mqtt已加入开机启动."
echo ""
job="* * * * * ${BIN_DIR}/checkMqtt.sh > /dev/null 2>&1 "
( crontab -l | grep -v "$job"; echo "$job" ) | crontab -
echo "checkMqtt已加入crontab."
echo ""
}
sed -i 's/\r//g' setup.ini
source setup.ini
BASE_DIR=${BASE_DIR%*/}
BIN_DIR=${BASE_DIR}/mqtt
ANA_DIR=${BASE_DIR}/mqtt
### 创建默认的目录
mkdir -p ${BIN_DIR}
installMqtt
setAutoStartMqtt
cp -f package/checkMqtt.sh ${ANA_DIR}
sed -i 's/\r//g' ${ANA_DIR}/checkMqtt.sh
sed -i 's#BASE_DIR#'${ANA_DIR}'#g' ${ANA_DIR}/checkMqtt.sh
chmod +x ${ANA_DIR}/checkMqtt.sh
echo "************[install finished.]安装完成. >>>>>>>>>>>>>"
sleep 1
Loading…
Cancel
Save