升级了新款 群晖, 就想着把服务都迁移到机器上, 旧机器上Sentry已经运行了1年半,想着怎么迁移到新机器上。
想着docker迁移应该很容易,就把 docker export 镜像拷贝到新机上,可是 import了,可是容器启动不起来。很是奇怪
再有1年多时间数据库居然庞大到15G,想着重装算了,重新开始。正好试试新版Sentry
sentry docker安装很简单, 按文档几步就完成了。不过以前的项目必须要导入,毕竟那么多客户端在运行,不可能都去升级客户端密钥(DSN)。查阅了一些资料,记录一下导出导入过程:
首先登录到 正在运行的 senrty_web 容器:
sudo docker exec -it 容器id /bin/bash
执行导出命令:(只导出用户与项目)
sentry --config /etc/sentry export --exclude savedsearch,rule,permission,migrationhistory,contenttype,option,site,userip,useroption,projectoption,counter,organizationmemberteam,organizationmember,team,organizationoption,projectteam,authenticator,organization,projectbookmark > sentry.json
将导出的json拷贝到 新安装的 sentry_web 容器
sudo docker cp 容器ID:/usr/src/sentry/sentry.json .
登录到新的容器,执行导入 :
sentry import sentry.json
如果有报错,则需要编辑修改一下 json,再次导入。
给出一个修改后的项目例子:
{
"pk": 10,
"model": "sentry.project",
"fields": {
"status": 0,
"name": "wmjd",
"date_added": "2018-07-05T02:15:31.129Z",
"forced_color": null,
"public": false,
"first_event": "2018-07-05T03:47:46Z",
"platform": "other",
"flags": "0",
"organization": 1,
"slug": "wmjd"
}
},
{
"pk": 10,
"model": "sentry.projectkey",
"fields": {
"status": 0,
"public_key": "5ab525b661804821928bb4641aa3783c",
"roles": "1",
"rate_limit_count": null,
"rate_limit_window": null,
"label": "Default",
"project": 10,
"date_added": "2018-07-05T02:15:31.188Z",
"secret_key": "12020a0f86784990958c3aca2dd7dcfe"
}
}
导入成功后,需要重启docker 容器。重新登录后就可以看到项目已导入,开启服务,事件就可以记录了!