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. selenium-java,selenium版本和火狐浏览器版本对应关系

    selenium3.5.0,firefox57,geckodriver-v0.19.1

  2. 2018年3月6日16:54:58 考试错误的java题目总结

  3. s21day12 python笔记

    s21day12 python笔记 一.函数中高级 1.1 函数可以做返回值 #示例: def func(): print(123) def bar(): return func v = bar() ...

  4. 软件工程 week 02

    一.地址链接 1.作业地址:https://edu.cnblogs.com/campus/nenu/2016CS/homework/2110 2.git仓库地址:https://git.coding. ...

  5. 使用ssh服务管理远程主机

  6. 全志A33 lichee怎样编译镜像

    对于全志A33 lichee编译镜像文件需要先搭建好交叉编译环境,这个搭建环境可以看之前的文档 "SINA33开发板怎样创建编译环境" 开发平台 * 芯灵思SinlinxA33开发 ...

  7. java post json sample

    import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; public class Te ...

  8. c# winform窗体如何设置才可以不能随意拖动大小

    执行以下两个步骤,能够禁止用户改变窗体的大小 (一)步骤1 设置窗体的FormBorderStyle属性为下列五个值中的任意一个 None:将窗口设置为无边框.无标题栏.用户无法改变窗口的大小,也无法 ...

  9. docker安装solr集群5.3.1

    docker-compose.yml: version: '3' services: zookeeper-A: image: zookeeper:3.4.11 ports: - "12181 ...

  10. Ubuntu更新时提示错误 E: Sub-process /usr/bin/dpkg returned an error code (1)

    $ sudo su //root权限 $ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old //现将info文件夹更名 $ sudo mkdir /v ...