gitlab 备份与恢复
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 备份与恢复的更多相关文章
- Git--07 Gitlab备份与恢复
目录 Gitlab备份与恢复 01). 备份 02). 恢复 Gitlab备份与恢复 对gitlab进行备份将会创建一个包含所有库和附件的归档文件.对备份的恢复只能恢复到与备份时的gitlab相同 ...
- Gitlab备份与恢复、迁移与升级
0.Gitlab安装 1.安装和配置必要的依赖关系 在CentOS7,下面的命令将在系统防火墙打开HTTP和SSH访问. yum install curl openssh-server postf ...
- gitlab备份与恢复操作方法
github私有仓库是收费的,有些代码不方便托管到外面的git仓库,因此就产生了自己搭建git服务器的需求. 好在有广大的开源人士的贡献,有了gitlab这一神器. 手动配置较多,直接用集成包: bi ...
- Gitlab备份与恢复[七]
标签(linux): git 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 备份 配置文件中加入 gitlab_rails['bakup_path']='/da ...
- gitlab备份与恢复
(1)备份 1.创建备份目录,并授权 mkdir /data/backups/gitlab -pv chown -R git.git /data 2.修改gitlab配置 vim /etc/gitla ...
- 3、gitlab备份与恢复
1.备份 #修改配置文件,启用备份 [root@localhost ~]# vim /etc/gitlab/gitlab.rb 377 gitlab_rails['backup_path'] = &q ...
- git学习------> Gitlab如何进行备份恢复与迁移?
前段时间,在某台CenterOS服务器上搭建了Gitlab环境,并且大家陆陆续续的都把代码从svn迁移到了gitlab,但是之前的CenterOS服务器并不是搭建在公司的机房环境,而是搭建在办公室的某 ...
- GitLab 迁移与升级
参考: [ 博客园 BigBao ] 环境说明: OS: CentOS 7.x gitlab-ce 初始版本: 8.8.5 gitlab-ce 升级到版本: 11.2.3 升级方式: rpm 安装升级 ...
- gitlab 从古老的 bitnami 版本 迁移到官方最新版本
这是我之前发布在 yuque 的文章.是我刚来新公司的时候帮公司搬迁 git 记录下来的,现在看来去掉敏感部分直接发布也没啥问题啦,就搬家过来,我自己也方便查 XD . 8.1.6 -> 10. ...
随机推荐
- Gym - 100796I:Shell Game(圆台的最大内接球半径)
pro:如题.给定上圆半径r,下圆半径R,高度h.问最大内接球半径. sol:由对称性,我们放到二维来看,即给这么一个梯形,问最大内接圆半径. 证明:如果是一个三角形的内接圆C,他内切于三边. 现在这 ...
- CCF-Markdown-201703-3
这道题不存在递归结构 比如区块之间的相互嵌套 还有"[ [] ]" 链接的相互嵌套, 所以直接处理就好了 还可以 #include <bits/stdc++.h> us ...
- hdu 1874 畅通工程续 floyed
裸题 题意:求任意两点之间的最短路径 坑点:测试数据同一条路径有可能出现多次,然后值不一样,注意筛选最小边 #include <iostream> #include <cstdio& ...
- 分布式高并发下Actor模型
分布式高并发下Actor模型 写在开始 一般来说有两种策略用来在并发线程中进行通信:共享数据和消息传递.使用共享数据方式的并发编程面临的最大的一个问题就是数据条件竞争.处理各种锁的问题是让人十分头痛的 ...
- webpack的知识内容
webpack的构建工具: 浏览器的兼容性? 转换ES6语法: 转化JSX: css
- 学习笔记TF038:实现估值网络
Q-Learning,学习Action对应期望值(Expected Utility).1989年,Watkins提出.收敛性,1992年,Watkins和Dayan共同证明.学习期望价值,从当前一步到 ...
- Excel中的数据与DataSet的互换
using System;using System.Collections.Generic;using System.Data;using System.Drawing;using System.IO ...
- java volatile
volatile可以保证变量的可见性 当一个变量定义为volatile后,此变量对所有的线程具有可见性.这里的可见性是指当一个线程修改了这个变量的值,新值对于其他线程来说是可以立即得知的. 每次使用v ...
- UDP广播包
一,广播地址: 广播地址是专门用于同时向网络中所有工作站进行发送的一个地址.在使用TCP/IP 协议的网络中,主机号为全1的IP地址为广播地址.例如,对于 :192.168.199.0(掩码:255. ...
- mysql 插入更新判断 ON DUPLICATE KEY UPDATE 和 REPLACE INTO
平时我们在设计数据库表的时候总会设计 unique 或者 给表加上 primary key 的限制条件.此时 插入数据的时候 ,经常会有这样的情况:我们想向数据库插入一条记录: 若数据表中存在以相同主 ...