UNRAID环境恢复teslamate数据

2023-05-20 14:01:26 0点赞 5收藏 1评论

背景:

一好友在腾讯云上通过一键安装工具安装了teslamate,已积攒数据1年多。得知unraid系统可安装teslamate后详见https://post.smzdm.com/p/a5o99l07/希望迁移数据到我这。有了以下折腾的内容,特此记录。

1.备份数据

详见https://docs.teslamate.org/docs/maintenance/backup_restore,主要思路是ssh登入腾讯云,先备份数据到容器,再从容器复制到腾讯云宿主机

2.拷贝数据

登入unraid,从腾讯云拷贝备份到unraid宿主机

3.新建psql容器

详见https://post.smzdm.com/p/a5o99l07/步骤1

4.从宿主机拷贝备份到第3步的容器

容器内新建backup文件夹,从宿主机拷贝备份到backup文件夹

root@UNRAID:~# docker cp /mnt/user/backup8tb/teslamate.bck 675952edd6ab:/backup

/mnt/user/backup8tb/teslamate.bck 源数据地址

675952edd6ab 容器ID

/backup 容器内目标目录地址

5.清除数据库内原数据

psql容器内执行

psql -U teslamate 登入teslamate账号

drop schema public cascade;
create schema public;
create extension cube;
create extension earthdistance;
CREATE OR REPLACE FUNCTION public.ll_to_earth(float8, float8)
RETURNS public.earth
LANGUAGE SQL
IMMUTABLE STRICT
PARALLEL SAFE
AS 'SELECT public.cube(public.cube(public.cube(public.earth()*cos(radians($1))*cos(radians($2))),public.earth()*cos(radians($1))*sin(radians($2))),public.earth()*sin(radians($1)))::public.earth';
.

注意上述内容是官方文档的资料,需要删除,否则会报错。改成以下内容。感谢https://www.xiaote.com/r/6437be9d9bee997d2d481e16

drop schema public cascade;
create schema public;
create extension cube;
create extension earthdistance;
CREATE OR REPLACE FUNCTION public.ll_to_earth(float8, float8)
RETURNS public.earth
LANGUAGE SQL
IMMUTABLE STRICT
PARALLEL SAFE
AS 'SELECT public.cube(public.cube(public.cube(public.earth()*cos(radians($1))*cos(radians($2))),public.earth()*cos(radians($1))*sin(radians($2))),public.earth()*sin(radians($1)))::public.earth';

6.清除成功的提示

UNRAID环境恢复teslamate数据

7.恢复数据库

# psql -U teslamate -d teslamate < /backup/teslamate.bck


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
1评论

  • 精彩
  • 最新
  • 求助,按照教程操作了,没有报错,但之前的数据还是未显示出来,帮帮我吧 [喜极而泣]

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
5
扫一下,分享更方便,购买更轻松