1. gitlab 备份命令:
# gitlab-rake gitlab:backup:create

1.1 查看备份文件(默认备份路径:/var/opt/gitlab/backups)
# ls /var/opt/gitlab/backups
1545805374_2018_12_26_11.5.4-ee_gitlab_backup.tar

1.2 其他备份:
/etc/gitlab/gitlab.rb        配置文件须备份
/var/opt/gitlab/nginx/conf   nginx配置文件
/etc/postfix/main.cfpostfix  邮件配置备份

1.3 计划任务自动备份:
0 00 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

1.4 自定义路径,编辑配置文件:
# vim /etc/gitlab/gitlab.rb
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/data/gitlab/backups"    // gitlab备份目录
gitlab_rails['backup_archive_permissions'] = 0644       // 生成的备份文件权限
gitlab_rails['backup_keep_time'] = 7776000       // 备份保留天数为3个月(即90天,这里是7776000秒)
# gitlab-ctl reconfigure                         // 修改完配置文件,需要重载gitlab配置文件:

2. 从备份文件中恢复gitlab
2.1 将备份文件权限修改为777,不然可能恢复的时候会出现权限不够,不能解压的问题
# chmod 777 1545805374_2018_12_26_11.5.4-ee_gitlab_backup.tar

2.2 执行命令停止相关数据连接服务
# gitlab-ctl stop unicorn
# gitlab-ctl stop sidekiq

2.3 执行命令从备份文件中恢复Gitlab
# gitlab-rake gitlab:backup:restore BACKUP=备份文件编号

例如我们的备份文件的编号是1545805374_2018_12_26_11.5.4,因此执行下面的命令即可恢复gitlab
# gitlab-rake gitlab:backup:restore BACKUP=1545805374_2018_12_26_11.5.4

敲完命令后,出现第一个交互页面,
输入“yes”继续。

2.4 启动Gitlab
# gitlab-ctl start

Gitlab的恢复操作会先将当前所有的数据清空,然后再根据备份数据进行恢复
通过gitlab备份文件可以恢复gitlab所有的信息,包括仓库、数据库、用户、用户组、用户密钥、权限等信息。
如果启动gitlab后,访问出现500,可能是redis等程序还没完全启动,等一会儿再试
参考:https://www.cnblogs.com/kevingrace/p/7821529.html

3. gitlab迁移
迁移如同备份与恢复的步骤一样, 只需要将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups即可(如果你没修改过默认备份目录的话).
需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同. 比如新服务器安装的是最新的11.6.0版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab 升级为11.6.0在进行备份.

/etc/gitlab/gitlab.rb gitlab     配置文件须迁移,迁移后需要调整数据存放目录
/var/opt/gitlab/nginx/conf       nginx配置文件目录须迁移

# gitlab-ctl stop unicorn
# gitlab-ctl stop sidekiq
# chmod 777 /var/opt/gitlab/backups/1545805374_2018_12_26_11.5.4-ee_gitlab_backup.tar
# gitlab-rake gitlab:backup:restore BACKUP=1545805374_2018_12_26_11.5.4

4. 设置存储仓库数据
默认情况下omnibus-gitlab 将仓库数据存储在 /var/opt/gitlab/git-data目录下,仓库存放在子目录 repositories里面。 以可以通过修改/etc/gitlab/gitlab.rb 的这一行来自定义 git-data 的父目录
# vim /etc/gitlab/gitlab.rb
git_data_dirs({ "default" => { "path" => "/home/gitlab-data" } })      // 把注释取消然后指定新的仓库存储位置

gitlab 备份与恢复的更多相关文章

  1. Git--07 Gitlab备份与恢复

    目录 Gitlab备份与恢复 01). 备份 02). 恢复 Gitlab备份与恢复 ​ 对gitlab进行备份将会创建一个包含所有库和附件的归档文件.对备份的恢复只能恢复到与备份时的gitlab相同 ...

  2. Gitlab备份与恢复、迁移与升级

    0.Gitlab安装 1.安装和配置必要的依赖关系 在CentOS7,下面的命令将在系统防火墙打开HTTP和SSH访问.   yum install curl openssh-server postf ...

  3. gitlab备份与恢复操作方法

    github私有仓库是收费的,有些代码不方便托管到外面的git仓库,因此就产生了自己搭建git服务器的需求. 好在有广大的开源人士的贡献,有了gitlab这一神器. 手动配置较多,直接用集成包: bi ...

  4. Gitlab备份与恢复[七]

    标签(linux): git 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 备份 配置文件中加入 gitlab_rails['bakup_path']='/da ...

  5. gitlab备份与恢复

    (1)备份 1.创建备份目录,并授权 mkdir /data/backups/gitlab -pv chown -R git.git /data 2.修改gitlab配置 vim /etc/gitla ...

  6. 3、gitlab备份与恢复

    1.备份 #修改配置文件,启用备份 [root@localhost ~]# vim /etc/gitlab/gitlab.rb 377 gitlab_rails['backup_path'] = &q ...

  7. git学习------> Gitlab如何进行备份恢复与迁移?

    前段时间,在某台CenterOS服务器上搭建了Gitlab环境,并且大家陆陆续续的都把代码从svn迁移到了gitlab,但是之前的CenterOS服务器并不是搭建在公司的机房环境,而是搭建在办公室的某 ...

  8. GitLab 迁移与升级

    参考: [ 博客园 BigBao ] 环境说明: OS: CentOS 7.x gitlab-ce 初始版本: 8.8.5 gitlab-ce 升级到版本: 11.2.3 升级方式: rpm 安装升级 ...

  9. gitlab 从古老的 bitnami 版本 迁移到官方最新版本

    这是我之前发布在 yuque 的文章.是我刚来新公司的时候帮公司搬迁 git 记录下来的,现在看来去掉敏感部分直接发布也没啥问题啦,就搬家过来,我自己也方便查 XD . 8.1.6 -> 10. ...

随机推荐

  1. 软间隔分类——SVM

    引入:1. 数据线性不可分:2. 映射到高维依然不是线性可分3. 出现噪声.如图: 对原始问题变形得到#2: 进行拉格朗日转换: 其中α和r是拉格朗日因子,均有不小于0的约束.按照之前的对偶问题的推导 ...

  2. CCF-Markdown-201703-3

    这道题不存在递归结构 比如区块之间的相互嵌套 还有"[ [] ]" 链接的相互嵌套, 所以直接处理就好了 还可以 #include <bits/stdc++.h> us ...

  3. 实现两个矩阵相乘的C语言程序

    程序功能:实现两个矩阵相乘的C语言程序,并将其输出 代码如下: #include "stdafx.h" #include "windows.h" void Mu ...

  4. vue调用支付接口

    html: <div class="paymentHtml" v-html="paymentHtml"></div> script: d ...

  5. day06 内存地址 小数据池缓存机制

    1. 内存相关 示例一 v1=[11,22,33] v2=[11,22,33] #值相等 内存地址不等 v1=11 v2=11 #按理说内存地址应该不等,但是python为了优化使其内存地址相等 v1 ...

  6. spring boot 1.4 整合 mybatis druid

    http://www.jianshu.com/p/cef49ad91ba9spring boot 1.4 整合 mybatis druid

  7. I think I need a boat house

    I think I need a boat house. Fred Mapper is considering purchasing some land in Louisiana to build h ...

  8. Spring Boot - 项目构建与解析

    构建 Maven 项目 通过官方的 Spring Initializr 工具来产生基础项目,访问 http://start.spring.io/ ,如下图所示,该页面提供了以Maven构建Spring ...

  9. ant design + react,自动获取上传音频的时长(react-audio-player)

    在后台管理项目中,用户要求上传音频,并且自动获取音频时长. 第一步, import { Upload, Button, Icon } from 'antd'; 第二步,在表单中使用 Upload 组件 ...

  10. 学习笔记之Python爬虫

    Python 爬虫介绍 | 菜鸟教程 http://www.runoob.com/w3cnote/python-spider-intro.html https://blog.csdn.net/sina ...