• 欢迎访问显哥博客,本网站纯属学习技术,绝无商业用途,欢迎小伙伴们共同学习!研究技术!QQ:52249909 加我QQ
  • 世界75亿人,这么小的概率,能认识你,是我一生的幸运,不妨加个QQ接触一下:52249909 加我QQ

Gitlab备份迁移及数据恢复【显哥出品,必为精品】

Gitlib lixian 3年前 (2021-06-30) 21026次浏览 0个评论 扫描二维码
文章目录[隐藏]

Gitlab备份

1.备份命令

#备份命令,直接执行
gitlab-rake gitlab:backup:create

#默认会在/var/opt/gitlab/backups目录下创建个以时间戳开头的备份文件
#当然了,这个默认备份路径可以改

2.修改默认的备份路径

#可以通过/etc/gitlab/gitlab.rb配置文件来修改默认存放备份文件的目录
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
#设置备份过期时间,以秒为单位,604800是一周
gitlab_rails['backup_keep_time'] = 604800

3.重载配置文件使其生效

#设置完了别忘了执行 gitlab-ctl reconfigure 命令重载配置文件使其生效
gitlab-ctl reconfigure

4.其他文件也要备份

#执行gitlab-rake gitlab:backup:create备份命令细心的会发现,最后面有红色的报错,提示还有文件需要单独备份
#gitlab配置文件必须备份
/etc/gitlab/gitlab.rb 
#nginx配置文件
/var/opt/gitlab/nginx/conf
#postfix 邮件配置备份
/etc/postfix/main.cf

5.脚本一键备份

#!/bin/bash
#判断备份路径是否存在,如果不存在就创建
if [ ! -d "/data/gitlab_backup_data" ]; then
  mkdir -p  /data/gitlab_backup_data
fi
#备份gitlab
gitlab-rake gitlab:backup:create &>/dev/null
#备份其他文件
\cp -a /var/opt/gitlab/nginx/conf/nginx.conf /data/gitlab_backup_data
\cp -a /etc/gitlab/gitlab.rb /data/gitlab_backup_data
\cp -a /etc/postfix/main.cf /data/gitlab_backup_data
#查找15天以前的备份文件删除
find /data/gitlab_backup_data -mtime +15 -type f -name "*.tar" |xargs rm -rf {} &>/dev/null

6.定时任务

0 2 * * * /data/scripts/gitlab_backup.sh &>/dev/null

Gitlab恢复

1.停止相关数据连接服务

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

2.恢复备份,指定要恢复备份文件的时间戳

#比如备份文件是1625016396_2021_06_30_12.0.2_gitlab_backup.tar,那么需要执行下面命令(看好时间戳)
gitlab-rake gitlab:backup:restore BACKUP=1625016396_2021_06_30_12.0.2

3.恢复备份后执行

gitlab-ctl restart
gitlab-ctl reconfigure
#如果备份的tar文件和已安装版本的GitLab之间存在GitLab版本不匹配,将会出现错误,需要安装正确的Gitlab版本后重试

本站博主 , 版权所有丨如未注明 , 均为原创
转载请注明原文链接:Gitlab备份迁移及数据恢复【显哥出品,必为精品】
喜欢 (0)

您必须 登录 才能发表评论!