跳转至

数据备份和恢复

Beatsight 有三部分数据需要备份,分别是:

  • Postgres 数据库

  • beatsight-data 数据卷

  • 配置文件

其中,位于 runtime 目录下的配置文件,您可以随时备份,建议在更改配置前做一次备份,方便随时撤销修改。

Postgres 和 beatsight-data 需要在停止服务后才能备份,防止数据不一致导致的异常。具体操作如下:

先停止服务:

cd /opt/beatsight/beatsight-docker-1.3.0-ce
./dc stop web celery beat

备份数据库

docker exec -t beatsight-postgres pg_dumpall -c -U postgres > beatsight-db_`date +%Y-%m-%d"_"%H_%M_%S`.sql

如果您需要更小的备份文件,可以使用 gzip

docker exec -t beatsight-postgres pg_dumpall -c -U postgres | gzip > beatsight-db_`date +%Y-%m-%d"_"%H_%M_%S`.sql.gz

备份数据卷

docker run --rm -v beatsight-data:/data -v "$PWD/backups:/backups" beatsight/beatsight:v1.3.0-ce sudo tar -czvf /backups/beatsight-data_`date +%Y-%m-%d"_"%H_%M_%S`.tar.gz /data

备份完成后,您可以在 backups 目录里找到对应的数据压缩包。


恢复数据库和数据卷

您可以执行如下命令来恢复数据:

cat beatsight-db.sql | docker exec -i beatsight-postgres psql -U postgres
docker run --rm -v beatsight-data:/data -v "$PWD/backups:/backups" beatsight/beatsight:v1.3.0-ce sudo tar xzf /backups/beatsight-data.tar.gz -C /data

如果上述命令执行成功,您就可以重新启动服务来检查数据是否完整。