gitlab备份——ubuntu20.04

  管理个人代码存储,可用性没有几个9的要求,但需要保障数据不丢失,综合考虑性价比,采用定期备份+百度网盘留档备份文件的方式进行。

注意:

  • 备份和恢复要求在相同版本中实现
  • 备份包括
  • 实测/etc/gitlab/gitlab.rb 未覆盖,密钥被原gitlab信息覆盖
  • 实测lfs,一并备份

具体操作如下:

备份

  参考官网 https://docs.gitlab.com/ee/raketasks/backup_gitlab.html

配置

修改/etc/gitlab/gitlab.rb,之后sudo gitlab-ctl reconfigure使其生效

gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "备份路径"
gitlab_rails['backup_keep_time'] = 604800
# 清理时间为3个月  3*30*24*3600  

执行

直接执行

sudo gitlab-backup create STRATEGY=copy CRON=1 # STRATEGY=copy解决数据快速变化的时候,产生错误; CRON=1 没报错不打印信息

得到文件1686474838_2023_06_11_15.3.2_gitlab_backup.tar,文件名:时间戳_gitlab版本号_gitlab_backup.tar

定期自动执行

通过cron实现周期备份

sudo su -
crontab -e

插入如下内容,如每天2点执行

0 2 * * * /opt/gitlab/bin/gitlab-backup create STRATEGY=copy CRON=1

恢复

  参考官网https://docs.gitlab.com/ee/raketasks/restore_gitlab.html
参考官方文档

要求

  • 安装相同版本的gitlab
  • 执行过sudo gitlab-ctl reconfigure,实际操作时,该文件已经预先配置好
  • 已经启动 sudo gitlab-ctl start

步骤

  1. 备份文件放到gitlab.rb 配置项 gitlab_rails['backup_path'] 中,默认路径/var/opt/gitlab/backups
  2. 修改文件拥有者为git
sudo chown git:git /var/opt/gitlab/backups/11493107454_2018_04_25_10.6.4-ce_gitlab_backup.tar
  1. 停止相关链接
sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq
# Verify
sudo gitlab-ctl status
  1. 恢复备份
sudo gitlab-backup restore BACKUP=11493107454_2018_04_25_10.6.4-ce
# 注意,BACKUP的值不是文件名,不写_gitlab_backup.tar
  1. 启动
sudo gitlab-ctl restart
  1. 检查
sudo gitlab-rake gitlab:check SANITIZE=true
sudo gitlab-rake gitlab:artifacts:check
sudo gitlab-rake gitlab:lfs:check
sudo gitlab-rake gitlab:uploads:check

你可能感兴趣的:(gitlab)