gitlab备份和恢复——ubuntu

  管理个人代码存储,可用性没有几个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'] = 7776000
# 清理时间为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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值