凉城旧巷
Python从入门到自闭,Java从自闭到放弃,数据库从删库到跑路,Linux从rm -rf到完犊子!!!

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
posted on 2022-01-04 15:00  凉城旧巷  阅读(1159)  评论(0编辑  收藏  举报