gitlab数据备份与恢复

gitlab数据备份与恢复

一、备份数据

1)修改配置文件

  • /etc/gitlab/gitlab.rb
# gitlab_rails['backup_path'] 备份保存的位置,这里是默认位置,可修改成指定的位置
# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_path'] = "/data/gitlab_backup/"

# (该配置可不处理)设置备份保存的时间,超过此时间的日志将会被新覆盖
gitlab_rails['backup_keep_time'] = 604800  # 这里是默认设置,保存7天,配置文件中默认为注释的

# 特别注意:
# 如果自定义了备份保存位置,则要修改备份目录的权限,比如:
chown -R git.git /data/gitlab_backup/
  • 配置完成后要重启以使配置生效
# 重读配置文件
gitlab-ctl reconfigure  

# 重启gitlab
gitlab-ctl restart

2)设置定时任务

crontab使用:https://www.cnblogs.com/linagcheng/p/15384800.html

# 每天凌晨2点定时创建备份
# 将一下内容写入到定时任务中 crontab -e
0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create

# 备份策略建议:
#     本地保留3到7天,在异地备份永久保存

3)备份时间的识别

# 备份后的文件类似这样的形式:1641278530_2022_01_04_10.7.5_gitlab_backup.tar,可以根据前面的时间戳确认备份生成的时间
date  -d  @1641278530

二、恢复数据

1)停止数据写入服务

# 停止数据写入服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

2)进行数据恢复并重启

# 进行恢复
gitlab-rake gitlab:backup:restore BACKUP=1641278530_2022_01_04_10.7.5  # 这个时间戳就是刚刚备份的文件前面的时间戳

# 重启
gitlab-ctl restart
博客内容仅供参考,部分参考他人优秀博文,仅供学习使用
原文地址:https://www.cnblogs.com/linagcheng/p/15762512.html