华年
记一次群晖teslamate数据库恢复过程
提出问题:
按官网的备份与恢复数据库说明,在群晖docker中的teslamate可以完成备份,但无法进行恢复,表现为输入指令后终端无响应。
官网说明链接:https://docs.teslamate.org/docs/maintenance/backup_restore
如果你正在使用或准备在NAS中部署teslamate,希望对你有所帮助。
以下操作默认本文读者具备linux命令行ssh基础操作、群晖docker知识!
解决方法:
恢复过程与官网相同,只是指令的输入形式做了修改:
1.停止taslamate容器
2.先清数据库
3.进行数据导入
4.开启teslamate容器
PS:清空数据库需要使用官网给的指令,但是命令有修改,否则会报错(根据报错提示,去掉最后一行的“\”)。以下有的行用户输入命令,有的行是返回提示,有些行注释,请注意区分。
sudo -i #ssh连接到群晖,登录后切换root账户cd /volume1/docker/ #进入.yml文件目录,根据实现情况修改
# 1.停止taslamate容器docker-compose stop teslamate
# 2.进入database容器中的psqldocker-compose exec database psql teslamate teslamate psql (14.7 (Debian 14.7-1.pgdg110+1))Type "help" for help.teslamate=# #复制官网指令,去掉多余的“\”,粘贴并按enter,清空数据库内容。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';
#exit退出 psqlteslamate=# exitroot@Ds3615:/volume1/docker#
#进入docker docker_database_1的bashroot@Ds3615:docker exec -it docker_database_1 bashroot@8ec76e75c415:/#
#将要恢复的备份文件挂载到/mnt/bakroot@8ec76e75c415:/# ls /mnt/bak/teslamate.bck
#输入命令进行恢复数据root@8ec76e75c415:/# psql -U teslamate -d teslamate < /mnt/bak/teslamate.bck
#退出docker bashroot@8ec76e75c415:/# exitexit
# 4.开启teslamate容器root@Ds3615:/volume1/docker# docker-compose start teslamateStarting teslamate ... done
在docker中设置卷挂载主机路径,并把teslamate.bck放入NAS的对应路径的teslamateback目录下
12 赞
14 评论
53048 阅读
评论
小神仙他爹老神经
太麻烦了,累心。用pgAdmin的数据备份与恢复不香么?
· 0 赞MCU1 AP2点5
#复制官网指令,去掉多余的“\\”,粘贴并按enter,清空数据库内容。
这句解决了问题,chatgpt给的代码虽然没报错,但是让车子不在了
· 0 赞MCU1 AP2点5
请教数据恢复后导致ip:4000提示登入成功,但是状态不可用,会是啥原因
· 0 赞tobyshawn
妈的,谢谢你
· 0 赞xiaobaibsd
收藏一下
· 0 赞Bryan Ma
这是要把小特变成国内第二大的同x交流平台吗,哈哈哈哈哈
· 0 赞晨曦098
感谢分享
· 0 赞yczhang
我想重新装teslamate,但是库总是下不下来,全局代理和裸连都是过了。前几天还行的。楼主遇到了吗
· 0 赞小黄叔叔
感谢,收藏了
· 0 赞F 丶
这里不是 csdn 是不是跑错了
· 0 赞