gitlab的备份与恢复与迁移
一.gitlab的备份
1.1 创建备份目录,并授权
1
2
3
4
|
[root@linux-node1 ~] # mkdir /data/backups/gitlab -p [root@linux-node1 ~] # chown -R git.git /data/ [root@linux-node1 ~] # ll /data/ -d drwxr-xr-x 3 git git 20 Dec 20 16:21 /data/ |
1.2 修改gitlab配置
1
2
3
4
5
6
7
8
9
|
设置备份路径 [root@7mini-node1 ~] # vim /etc/gitlab/gitlab.rb 201 gitlab_rails[ 'backup_path' ] = "/data/backups/gitlab" #备份路径 204 gitlab_rails[ 'backup_keep_time' ] = 604800 #备份7天 [root@7mini-node1 ~] # mkdir -p /data/backups/gitlab [root@7mini-node1 ~] # gitlab-ctl reconfigure [root@7mini-node1 ~] # gitlab-ctl restart |
1.3.定时任务备份
1
2
|
[root@7mini-node1 ~] # crontab -l 0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create |
1.4.手动执行脚本进行备份
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
/usr/bin/gitlab-rake gitlab:backup:create Dumping database ... Dumping PostgreSQL database gitlabhq_production ... [DONE] done Dumping repositories ... * java /app1 ... [DONE] * java /app1 .wiki ... [SKIPPED] [root@7mini-node1 ~] # cd /data/backups/gitlab/ [root@7mini-node1 gitlab] # ls 1525934310_gitlab_backup. tar [root@7mini-node1 gitlab] # ll total 80 -rw------- 1 git git 81920 May 10 14:38 1525934310_gitlab_backup. tar [root@7mini-node1 gitlab] # date -d @1525934310 Thu May 10 14:38:30 CST 2018 |
1.5 恢复备份
删除gitlab中的app1的项目,再恢复
停止数据写入服务:
1
2
3
4
|
[root@7mini-node1 ~] # gitlab-ctl stop unicorn ok: down: unicorn: 1s, normally up [root@7mini-node1 ~] # gitlab-ctl stop sidekiq ok: down: sidekiq: 0s, normally up |
恢复数据
1
2
|
[root@7mini-node1 ~] # gitlab-rake gitlab:backup:restore BACKUP=1525934310 [root@7mini-node1 ~] # gitlab-ctl restart |
丢失的文件又还原了
二.gitlab迁移
迁移如同备份与恢复的步骤一样, 只需要将老服务器/var/opt/gitlab/backups
目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups
即可(如果你没修改过默认备份目录的话).
但是需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同.(注意必须相同,否则会出现问题的)
比如新服务器安装的是最新的9.52版本的Gitlab, 那么迁移之前, 可以将老服务器的Gitlab 升级为9.52在进行备份
1
2
|
/etc/gitlab/gitlab .rb gitlab 配置文件须迁移,迁移后需要调整数据存放目录 /var/opt/gitlab/nginx/conf nginx配置文件目录须迁移 |
还原
1
2
3
4
5
6
|
[root@linux-node1 ~] # gitlab-ctl stop unicorn ok: down: unicorn: 0s, normally up [root@linux-node1 ~] # gitlab-ctl stop sidekiq ok: down: sidekiq: 0s, normally up [root@linux-node1 ~] # chmod 777 /var/opt/gitlab/backups/1481598919_gitlab_backup.tar [root@linux-node1 ~] # gitlab-rake gitlab:backup:restore BACKUP=1481598919 |
三.gitlab升级与出现问题解决办法
下载gitlab的RPM包并进行升级
1
2
|
官网下载最新版本 gitlab对应软件包 [gitlab官网](https: //packages .gitlab.com /gitlab/gitlab-ce/packages/el/7/gitlab-ce-8 .12.13-ce.0.el7.x86_64.rpm) 使用 rpm -Uvh gitlab-ce-8.12.13-ce.0.el7.x86_64 |
如果直接升级出现如下报错
1
2
3
4
|
报错. Error executing action `run` on resource 'ruby_block[directory resource: /var/opt/gitlab/git-data/repositories]' 解决方法: sudo chmod 2770 /var/opt/gitlab/git-data/repositories |
查看版本信息
1
2
|
[root@localhost backups] # head -1 /opt/gitlab/version-manifest.txt gitlab-ce 9.5.2 |
四.gitlab更改默认Nginx
更换gitlab自带Nginx,使用自行编译Nginx来管理gitlab服务。
编辑gitlab配置文件禁用自带Nignx服务器
1
2
3
4
5
|
vi /etc/gitlab/gitlab .rb ... #设置nginx为false,关闭自带Nginx nginx[ 'enable' ] = false ... |
检查默认nginx配置文件,并迁移至新Nginx服务
1
2
|
/var/opt/gitlab/nginx/conf/nginx .conf #nginx配置文件,包含gitlab-http.conf文件 /var/opt/gitlab/nginx/conf/gitlab-http .conf #gitlab核心nginx配置文件 |
重启 nginx、gitlab服务
1
2
|
gitlab-ctl reconfigure service nginx restart |
出现502报错
1
|
chmod -R o+x /var/opt/gitlab/gitlab-rails |
五. gitlab邮箱的配置
1
2
3
4
5
6
7
8
9
10
11
12
|
126邮件配置: gitlab_rails[ 'time_zone' ] = 'Asia/Shanghai' gitlab_rails[ 'gitlab_email_enabled' ] = true gitlab_rails[ 'gitlab_email_from' ] = 'xiaoming@126.com' #发件邮箱设置 gitlab_rails[ 'gitlab_email_display_name' ] = 'gitlab' gitlab_rails[ 'smtp_enable' ] = true gitlab_rails[ 'smtp_address' ] = "smtp.126.com" gitlab_rails[ 'smtp_port' ] = 25 gitlab_rails[ 'smtp_user_name' ] = "xiaoming" gitlab_rails[ 'smtp_password' ] = "your password" gitlab_rails[ 'smtp_domain' ] = "126.com" gitlab_rails[ 'smtp_authentication' ] = "login" |
本篇博客转载:https://www.cnblogs.com/jimmy-xuli/p/9019894.html
gitlab的备份与恢复与迁移的更多相关文章
- GitLab初识以及代码迁移
目录 一.理论概述 1.什么是gitlib 2.GitLab服务构成 3.Git对比SVN 二.部署 1.简单操作GitLab 三.项目实践:SVN代码迁移至GitLab 环境 1.Linux下部署S ...
- Gitlab备份与恢复、迁移与升级
0.Gitlab安装 1.安装和配置必要的依赖关系 在CentOS7,下面的命令将在系统防火墙打开HTTP和SSH访问. yum install curl openssh-server postf ...
- Gitlab日常维护(三)之Gitlab的备份、迁移、升级
一.Gitlab的备份 使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份 [root@gitlab ~]# gitla ...
- gitlab 之 升级、迁移
-----故事背景- 公司服务器用vm装的虚拟机,由于公司服务器经常无故重启,且找不到原因,所以公司准备将vm迁移至Hyper-V,Hyper-V可以自启动虚拟机且免费. -----升级.迁移- 首先 ...
- docker+gitlab的安装和迁移
docker+gitlab的安装 docker search gitlab docker pull docker.io/gitlab/gitlab-ce docker run --name=: -- ...
- gitlab 10.8.1 迁移
参考官网: https://docs.gitlab.com/ee/raketasks/backup_restore.html Backing up and restoring GitLab 及 ...
- gitlab人备份与恢复
注意新建备份目录是:/usr/local/src/repositories 属主和属组: # ll -d repositories/ drwx------ git root Feb : reposit ...
- 使用terraform 进行gitlab 代码仓库批量迁移
gitlab 的代码是在文件目录中,这个对于批量迁移很简单,只需要copy 文件夹(但是对于不同gitlab server 可能需要重新设置目录权限) 几个问题 大批量仓库tf resource问 ...
- GitLab安装及备份迁移数据
centos7安装GitLab 下载相应版本rpm包 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ 我此处下载9.3.6版本. # w ...
随机推荐
- 5233杨光--Linux第一次实验
学习计时:共14小时 读书:2小时 代码:7小时 作业:2小时 博客:3小时 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Li ...
- 20lanmo162326 2017-2018-1 《程序设计与数据结构》第1周学习总结
20162326 2017-2018-1 <程序设计与数据结构>第1周学习总结 教材学习内容总结 算法:在特定计算模型下,解决问题的指令序列 计算 = 信息处理 也就是用工具,遵规则,机械 ...
- 使用Git进行代码管理心得------------个人练习
一.在github.com上的操作 今天我们实践课程学习了用Git进行代码版本,使用github进行代码托管,我和队友在官网上创建了自己的Organization,将Auto CS fork到了小 ...
- JS实现前端将数据导出excel
点击此跳到原文,原文有效果动图. 方法一 将table标签,包括tr.td等对json数据进行拼接,将table输出到表格上实现,这种方法的弊端在于输出的是伪excel,虽说生成xls为后缀的文件,但 ...
- iOS UIView性能最优的设计圆角并且绘制边框颜色
//以给cell切圆角为例- (void)collectionView:(UICollectionView *)collectionView willDisplayCell:(UICollection ...
- 旧文备份:CANopen协议中SDO服务
SDO是服务数据对象接口(Service Data Obiect)的缩写,顾名思义提供服务数据的访问接口,服务数据就是一些实时性要求不高的数据,一般是指节点配置参数,因此,SDO一般用来配置和获得节点 ...
- SQL DATACOMPARE 实现两个数据库的同步处理.
1. SQL DATACOMPARE 实现 两个数据库的同步 安装破解. 然后进行对比 然后进行 deploy 生成sql 等. 貌似很好用 但是前提是数据库是可用的... 这里面能够看到 生成的脚本 ...
- Navicat for MySQL和Navicat Premium之间的区别
首先两款软件都可以用来管理数据库链接MySQL和MariaDB 相对于新手或者前端工程师使用Navicat for MySQL就够了,功能相对于Navicat Premium比较少Navicat fo ...
- sublime 对vue的高亮显示
前提概要: sublime的下载地址:http://www.sublimetext.com/ notepad++下载地址:https://notepad-plus-plus.org/ .vue的文件在 ...
- ubuntu 16.04 部署 pypy+nginx+uwsgi+django(详细)
1.nginx ...