单机
💡注意
文档中文件路径都使用默认路径,如果有更改,请自行调整。
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



