GitLab的备份与还原
at 2年前 ca gitlab pv 645 by touch
一、现状
前段时间在麒麟系统上部署了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!”。如下图:
注:还原操作会还原所有的数据,包括用户列表、项目列表、项目集等,root账户密码也会还原为原系统的root账户密码。
版权声明
本文仅代表作者观点,不代表码农殇立场。
本文系作者授权码农殇发表,未经许可,不得转载。