#一、数据备份
设置备份路径、权限、保留时常,防止每天执行备份,有目录被爆满的风险,打开/etc/gitlab/gitlab.rb配置文件,找到如下配置
[root@server ~]# vim /etc/gitlab/gitlab.rb
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #备份的路径
gitlab_rails['backup_archive_permissions'] = 0644 #备份文件的默认权限
gitlab_rails['backup_keep_time'] = 604800 #保留时长,秒为单位
执行 gitlab-ctl reconfigure 或者 gitlab-ctl restart 重启服务生效。
[root@server ~]# gitlab-ctl reconfigure
执行备份命令进行备份
[root@server ~]# /opt/gitlab/bin/gitlab-rake gitlab:backup:create
[root@server ~]# ls /var/opt/gitlab/backups
1585221706_2020_03_26_12.9.0_gitlab_backup.tar
可以到/data/gitlab/backups找到备份包,解压查看,会发现备份的还是比较全面的,数据库、repositories、build、upload等分类还是比较清晰的。
备份完成,会在备份目录中生成一个当天日期的tar包。
#二、数据恢复
特别注意:
- 备份目录和gitlab.rb中定义的备份目录必须一致
- GitLab的版本和备份文件中的版本必须一致,否则还原时会报错。
首先删除
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4N2dbB3E-1585730631333)(https://upload-images.jianshu.io/upload_images/21294643-822f9e0ecefcf029.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GOffSrsO-1585730631334)(https://upload-images.jianshu.io/upload_images/21294643-dddb0c67edc6318b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]此时已经没有项目了
[外链图片转存中…(img-wyJAFx6v-1585730631334)]
###然后在服务器执行:
[root@server ~]# gitlab-rake gitlab:backup:restore BACKUP=1585221706_2020_03_26_12.9.0
- 数据已经恢复:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rxwA6Ivw-1585730631335)(https://upload-images.jianshu.io/upload_images/21294643-c7812da3de386faa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]