gitlab备份

gitlab备份恢复官方文档

官方文档中写的很详细了,这里示例的版本是 10.6 ,只列出了几个比较常用的命令

一、gitlab的备份目录路径设置

rpm包安装的gitlab配置文件是 /etc/gitlab/gitlab.rb,docker安装的gitlab配置文件是 volume path/config/gitlab.rb

# 自定义备份路径
gitlab_rails['manage_backup_path'] = true

# gitlab备份目录
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"  

# 生成的备份文件权限
gitlab_rails['backup_archive_permissions'] = 0644  

# 备份保留天数为3个月(即90天,这里是7776000秒,单位是秒)
gitlab_rails['backup_keep_time'] = 7776000

修改以上配置需要执行命令 gitlab-ctl reconfigure 生效

二、设置gitlab备份

gitLab 12.2或更高版本执行以下命令进行备份

gitlab-backup create

gitLab 12.1和更早版本执行以下命令进行备份

gitlab-rake gitlab:backup:create CRON=1

环境变量CRON=1的作用是如果没有任何错误发生时, 隐藏备份脚本的所有进度输出

The CRON=1 environment setting directs the backup script to hide all progress output if there aren’t any errors. This is recommended to reduce cron spam.

如果gitlab是docker安装,则执行以下命令

docker exec -t gitlab /bin/sh -c 'gitlab-rake gitlab:backup:create'

iShot2020-11-15 23.35.47

使用以上命令会在 /var/opt/gitlab/backups 目录下(rpm包安装)创建一个名称类似为

1605454369_2020_11_15_10.6.1_gitlab_backup.tar 的压缩包

配合计划任务每天定时备份

00 1 * * * docker exec -t gitlab /bin/bash -c 'gitlab-rake gitlab:backup:create CRON=1'

还需要备份两个文件

# gitlab密钥文件
/etc/gitlab/gitlab-secrets.json

# gitlab配置文件
/etc/gitlab/gitlab.rb

三、gitlab恢复

先停止相关数据连接服务

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

确认数据连接服务已经停止

gitlab-ctl status

恢复gitlab数据,中间需要输入两次 yes,BACKUP后面就是要恢复的备份压缩文件时间名称部分

gitlab的恢复操作会先将当前所有的数据清空,然后再根据备份数据进行恢复

gitlab-rake gitlab:backup:restore BACKUP=1605454369_2020_11_15_10.6.1

恢复完成后启动gitlab

gitlab-ctl start

恢复命令完成后,可以check检查一下恢复情况

gitlab-rake gitlab:check SANITIZE=true
泡泡吐肥皂o © gitbook.pptfz.top 2021 all right reserved,powered by Gitbook文件修订时间: 秃笔南波湾!!!

results matching ""

    No results matching ""