平台更新版本指导_物联网平台

单机

💡注意

文档中文件路径都使用默认路径,如果有更改,请自行调整。

1、更新前准备

💡提示

更新前需要做些特殊处理,保证平台暂时不能访问(不会启动平台)且可以连接数据库。

vi /_makeFile/thingskit/_image/java-start.sh				#修改脚本

找到图示中位置改成这个样子:

如果没有可以自行添加修改:

nginx -g 'daemon off;'
#nginx -g 'daemon on;'> /var/log/nginx/access.log 2>&1 &
docker restart monolith

2、备份文件

2-1、备份前后端

💡提示

更新需要替换前后端文件,配置文件都可以不用额外处理。

/_makeFile/_workspace						#前后端文件统一路径
cp -r /_makeFile/_workspace  /_makeFile/_workspace_bak		#手动备份前后端资源为_workspace_bak

2-2、备份数据库

💡提示

当执行了更新前准备后,再去备份数据库。pg_dump命令备份的数据库文件无法恢复遥测数据,请注意。

备份方式一(数据库过大):

//执行后 会在数据库目录下生成一份dmp文件  这个就是数据库备份文件  可以还原
docker exec -it monolith bash
cd /data
pg_dump --verbose -U postgres -d thingskit -f 自己想要存放的备份文件名称.dmp

备份方式二(数据库不大且分区有足够空间):

//执行后  会在数据库目录下复制一个pgsql_bak目录  这个是数据库目录的完全复制  修改目录名后就可以还原
cp -r /var/_datas/pgsql /var/_datas/pgsql_bak

还原数据库:

//备份方式一
//此命令需要在数据库目录执行且按照第一步将脚本修改了
docker exec -it monolith bash
cd /data
psql  -U postgres  -d thingskit -f 存放的备份文件名称.dmp

//备份方式二
rm -rf /var/_datas/pgsql		#删除原有数据库
mv /var/_datas/pgsql_bak /var/_datas/pgsql		#手动将备份数据库恢复成数据库

3、更换前后端

💡提示

再清除了之前的前后端文件后,将准备好的前后端文件替换到/_makeFile/_workspace/目录下。

cd /_makeFile/_workspace/
rm -rf *										#删除当前目录下前后端文件

4、执行sql升级文件

💡提示

升级必须确定当前版本后,按照一个版本一个版本的方式梯次执行sql更新数据库。如当前版本2.0.0,需要升级到2.1.0,则先执行thingsKit_2.0.0_2.0.1.sql,然后执行thingsKit_2.0.1_2.0.2.sql、thingsKit_2.0.2_2.1.0.sql。

/_makeFile/_workspace/web_server/data/upgrade/thingskit/

建议使用navicat等pg数据库交互软件操作:

5、重新启动平台

5-1、恢复脚本

💡提示

将更新前准备中修改的脚本改为之前的内容。

vi /_makeFile/thingskit/_image/java-start.sh				#修改脚本

找到图示中位置改成这个样子:

5-2、重启平台

💡提示

前面的步骤都做好之后就可以重启平台完成更新了。

docker restart monolith

微服务

💡注意

文档中文件路径都使用默认路径,如果有更改,请自行调整。

1、更新前准备

💡提示

更新前需要做些特殊处理,保证平台暂时不能访问(不会启动平台)且可以连接数据库。

docker ps		#查看当前容器

cd /_makeFile/services/core/
docker-compose down
cd /_makeFile/services/rule/
docker-compose down
cd /_makeFile/services/transport_mqtt/
docker-compose down
cd /_makeFile/services/transport_http/				#没有启动就不用处理
docker-compose down
cd /_makeFile/services/transport_tcp_udp/			#没有启动就不用处理
docker-compose down
cd /_makeFile/services/transport_gbt28181/		#没有启动就不用处理
docker-compose down

2、备份文件

2-1、备份前后端

💡提示

更新需要替换前后端文件,配置文件都可以不用额外处理。

/_makeFile/_workspace						#前后端文件统一路径
cp -r /_makeFile/_workspace  /_makeFile/_workspace_bak		#手动备份前后端资源为_workspace_bak

2-2、备份数据库

💡提示

当执行了更新前准备后,再去备份数据库。pg_dump命令备份的数据库文件无法恢复遥测数据,请注意。

备份方式一(数据库过大):

//执行后 会在数据库目录下生成一份dmp文件  这个就是数据库备份文件  可以还原
docker exec -it pgsql bash
cd /var/lib/postgresql/data
pg_dump --verbose -U postgres -d thingskit -f 自己想要存放的备份文件名称.dmp

备份方式二(数据库不大且分区有足够空间):

//执行后  会在数据库目录下复制一个pgsql_bak目录  这个是数据库目录的完全复制  修改目录名后就可以还原
cp -r /var/_datas/pgsql /var/_datas/pgsql_bak

还原数据库

//备份方式一
//此命令需要在数据库目录执行且按照第一步将脚本修改了
docker exec -it monolith bash
cd /var/lib/postgresql/data
psql  -U postgres  -d thingskit -f 存放的备份文件名称.dmp

//备份方式二
rm -rf /var/_datas/pgsql		#删除原有数据库
mv /var/_datas/pgsql_bak /var/_datas/pgsql		#手动将备份数据库恢复成数据库

3、更换前后端

💡提示

再清除了之前的前后端文件后,将准备好的前后端文件替换到/_makeFile/_workspace/目录下。

cd /_makeFile/_workspace/
rm -rf *										#删除当前目录下前后端文件

4、执行sql升级文件

💡提示

升级必须确定当前版本后,按照一个版本一个版本的方式梯次执行sql更新数据库。如当前版本2.0.0,需要升级到2.1.0,则先执行thingsKit_2.0.0_2.0.1.sql,然后执行thingsKit_2.0.1_2.0.2.sql、thingsKit_2.0.2_2.1.0.sql。

/_makeFile/_workspace/core_rule/data/upgrade/thingskit/

建议使用navicat等pg数据库交互软件操作:

5、重新启动平台

💡提示

按照文档顺序将平台服务启动。

docker ps		#查看当前容器

cd /_makeFile/services/core/
docker-compose up -d
cd /_makeFile/services/rule/
docker-compose up -d
cd /_makeFile/services/transport_mqtt/
docker-compose up -d
cd /_makeFile/services/transport_http/				#没有启动就不用处理
docker-compose up -d
cd /_makeFile/services/transport_tcp_udp/			#没有启动就不用处理
docker-compose up -d
cd /_makeFile/services/transport_gbt28181/		#没有启动就不用处理
docker-compose up -d
云腾五洲-AI助理