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. Markdown使用方法

    目录 Markdown 简明语法手册 1. 斜体和粗体 2. 分级标题 这是一个一级标题 这是一个二级标题 这是一个三级标题 3. 外链接 4. 无序列表 5. 有序列表 6. 文字引用 7. 行内代 ...

  2. Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)

    To fix it, just kill the apt process. ps -aux | grep -i apt sudo kill -9 "the process ID"

  3. Go并发编程实战 (郝林 著)

    第1章 初识Go语言 1.1 语言特性 1.2 安装和设置 1.3 工程构造 1.3.1 工作区 1.3.2 GOPATH 1.3.3 源码文件 package main import ( " ...

  4. 20165308 2017-2018-2 《Java程序设计》课程总结

    20165308 2017-2018-2 <Java程序设计>课程总结 一.每周作业及实验报告链接汇总 我期待的师生关系 学习基础和c语言调查 Linux 安装及学习 第一周学习总结 第二 ...

  5. Hbase 与Hive整合

    HBase与Hive的对比 25.1.Hive 25.1.1.数据仓库 Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询. 25.1.2. ...

  6. nginx 信号

    来源:nginx.cn Nginx信号控制 Nginx控制信号 TERM, INT 快速关闭 QUIT 从容关闭 HUP 重新加载,用新的配置开始新的工作进程 USER1 重新打开日志文件 USER2 ...

  7. go-micro介绍 摘自https://www.cnblogs.com/s0-0s/p/6874800.html

    Micro 架构与设计 翻译自 Micro architecture & design patterns for microservices 注: 原文作者即 Micro 框架的开发者. 过去 ...

  8. PCL数据类型和ROS数据类型的转换

    参考网址 http://wiki.ros.org/pcl/Overview ,重点参看第2和第3节. 1. Data types 介绍了三种点云数据类型:sensor_msgs::PointCloud ...

  9. 关于Spring的那点事

    一.Spring约束 <?xml version="1.0" encoding="UTF-8"?><beans xmlns="htt ...

  10. java使用jdbc连接oracle(其他数据库类似)

    最基本的Oracle数据库连接代码: 1.右键项目->构建路径->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择“D:\Oracle\app\oracle\product ...