gitlab-backup-restore
备份
1 |
|
修改默认备份目录:
修改文件/etc/gitlab/gitlab.rb
,
把gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
改成自己要备份的目录就可以了
修改之后运行sudo gitlab-ctl reconfigure
才能生效
如果备份到samba上,要把用户权限设置正确,
1 |
|
(uid=998为git用户,是它的默认备份用户,别的用户会出现权限问题,https://gitlab.com/gitlab-org/omnibus-gitlab/issues/644)
否则会出现
1 |
|
这样的错误
如果像上面这样保存到外部磁盘,记得要每次启动的要挂载。
写成脚本,放rc.local
修改要gitlab.rb 需要生效,需要运行
1 |
|
设置只保存最近7天的备份
修改配置文件/etc/gitlab/gitlab.rb
,
1 |
|
设置为定时任务
1 |
|
/opt/gitlab/bin/gitlab-rake
/usr/bin/gitlab-rake gitlab:backup:create
备份的恢复
- 安装与备份文件的版本需要相同,如果不相同,需要降级,再还原备份,再升级,再做新备份。
gitlab降级
先删除当前版本
1 |
|
到该网址选择指定版本
https://packages.gitlab.com/gitlab/gitlab-ce
1 |
|
恢复
打开/etc/gitlab/gitlab.rb中backup路径的注释
1 |
|
拷贝配备文件到备份目录
再执行恢复
1 |
|
文件编号为_gitlab_backup.tar
前面的一串数字日期及版本的字符串
gitlab的升级
1 |
|
后续
如果换了机器,当备份恢复后,机器的指纹会发生变化。
可能会出现
1 |
|
需要到用户目录下的.ssh
下的known_hosts,删除原来的key的指纹。
再次pull,会出现添加到已host的提示。
参考
gitlab-backup-restore
https://blog.fengcl.com/2018/10/23/gitlab-backup-restore/