gitea数据的备份和恢复

警告
本文最后更新于 2023-02-01,文中内容可能已过时,请谨慎使用。
使用场景
原服务器到期,旧服务器上的数据需迁移到新服务器上,新服务器上未安装gitea

如果有这样以一个场景。我使用docker run启动了了一个容器,而docker run的参数有很多,由于时间太久,我已经忘记了当初的启动参数,也并没有使用docker-compose这样的编排工具。现在我如何进行重启,如何找回此前的启动命令。

这里推荐使用runlike工具

安装方式如下:

pip install runlike

查看某容器的启动命令

runlike 容器名称或容器id

为了保证迁移前后的数据一致,我们需要使用同样的命令启动容器

这里我的docker容器的数据存储在/root/data/docker_data/gitea/data,请根据自己的情况修改

先暂停容器,再将该文件夹下的全部打包

sudo cd /root/data/docker_data/gitea/data
docker stop gitea
tar cf gitea-backup.tar *

在新服务器中建立相同的存储数据的文件夹

su
mkdir -p /root/data/docker_data/gitea/data
cd /root/data/docker_data/gitea/data

将上面备份的压缩包上传到该文件夹中, 解压缩

mv /home/zfp/gitea-backup.tar /root/data/docker_data/gitea/data
cd /root/data/docker_data/gitea/data
tar xf gitea-backup.tar

修改配置文件的部分信息

vim gitea/conf/app.ini
/images/all/gitea_1.png
修改部分配置

只用修改第16、17、19行的配置信息(更换一下新域名!)

注意
记得在新服务器上开放gitea服务所用的sshhttp端口.

使用前面获取的docker run命令启动容器即可!

docker run --name=gitea --hostname=11a973b7aadf --mac-address=02:42:ac:11:00:05 --env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env=USER=git --env=GITEA_CUSTOM=/data/gitea --volume=/root/data/docker_data/gitea/data:/data --volume=/data --privileged -p a:22 -p b:3000 --restart=always --label='org.opencontainers.image.url=https://github.com/go-gitea/gitea' --label='maintainer=maintainers@gitea.io' --label='org.opencontainers.image.revision=8769df117d6cc2f4ab00d6e1d54ef4241d063f11' --label='org.opencontainers.image.source=https://github.com/go-gitea/gitea.git' --label='org.opencontainers.image.created=2022-07-30T19:53:46Z' --runtime=runc --detach=true gitea/gitea:latest /bin/s6-svscan /etc/s6

最终效果如下:

/images/all/gitea_2.png
迁移成功

相关文章