GitLab的备份与还原

一、现状

前段时间在麒麟系统上部署了GitLab,后来发现太占资源,于是准备在Ubuntu Desktop版本上部署GitLab。Ubuntu Desktop出预装了浏览器,感觉不会比麒麟轻太多。

之前安装过Ubuntu Server,不会设置网络。再次尝试,这次在安装时就提示让我设置IP。查询资料设置成功后,网络通了。

从麒麟系统用scp命令将GitLab安装包发到Ubuntu Server,安装GitLab一切顺利。

二、需要处理的问题

原系统已经有不少项目了,而且也创建了不少用户,不可能重新添加用户,重新创建工程及项目集也太费劲了,于是用备份还原的办法。

 1、查看备份目录

备份目录是在gitlab.rb文件中定义的:

# gitlab_rails['backup_path'] = "var/opt/gitlab/backups"

该目录修改后重新加载GitLab生效。

2、备份

在原系统备份的命令如下:

sudo gitlab-rake gitlab:backup:create

GitLab备份的文件名如下:

1656942653_2022_07_04_14.9.3_gitlab_backup.tar

3、修改备份目录权限

用cd命令直接查看备份目录,系统提示没有权限。简单粗暴点,将备份目录备份文件的权限都改为777。然后用scp命令将备份文件传到新的GitLab服务器。

4、还原备份

由于要操作备份文件,所以该文件的权限也要改为777(粗暴点的权限)。

然后用如下命令还原GitLab备份:

sudo gitlab-rake gitlab:backup:restore BACKUP=1656942653_2022_07_04_14.9.3

中途需要输入两次yes确认操作。

特别强调:

BACKUP后的值不是备份文件的文件名,不写后面的“_gitlab_backup.tar”,否则会提示“The back file XXX_gitlab_backup.tar does not exist!”。如下图:

GitLab的备份与还原_第1张图片

 

注:还原操作会还原所有的数据,包括用户列表、项目列表、项目集等,root账户密码也会还原为原系统的root账户密码。

参考资料:

1、Ubuntu Server安装时IP的设置:

Ubuntu Server 16 18 20安装:深度学习环境搭建(一)_学术萌新老何的博客-CSDN博客

2、GitLab的备份和迁移:

gitLab数据备份和迁移_开袋有惊喜的博客-CSDN博客_gitlab备份

你可能感兴趣的:(Git,GitLab,GitLab备份与还原)