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/ -ddrwxr-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.rb201 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 -l0 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:createDumping database ... Dumping PostgreSQL database gitlabhq_production ... [DONE]doneDumping repositories ... * java/app1 ... [DONE] * java/app1.wiki ... [SKIPPED][root@7mini-node1 ~]# cd /data/backups/gitlab/[root@7mini-node1 gitlab]# ls1525934310_gitlab_backup.tar[root@7mini-node1 gitlab]# lltotal 80-rw------- 1 git git 81920 May 10 14:38 1525934310_gitlab_backup.tar[root@7mini-node1 gitlab]# date -d @1525934310Thu May 10 14:38:30 CST 2018 |
1.5 恢复备份
删除gitlab中的app1的项目,再恢复
停止数据写入服务:
|
1
2
3
4
|
[root@7mini-node1 ~]# gitlab-ctl stop unicornok: down: unicorn: 1s, normally up[root@7mini-node1 ~]# gitlab-ctl stop sidekiqok: 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 unicornok: down: unicorn: 0s, normally up[root@linux-node1 ~]# gitlab-ctl stop sidekiqok: 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,关闭自带Nginxnginx['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 reconfigureservice 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'] = truegitlab_rails['gitlab_email_from'] = 'xiaoming@126.com' #发件邮箱设置gitlab_rails['gitlab_email_display_name'] = 'gitlab'gitlab_rails['smtp_enable'] = truegitlab_rails['smtp_address'] = "smtp.126.com"gitlab_rails['smtp_port'] = 25gitlab_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 ...
随机推荐
- 第二阶段每日站立会议Forth Day
昨天对于程序中的字体显示进行细化修改,使界面更美观 今天准备继续调试手机界面 遇到的问题:上几次Tomcat运行正常,今天突然出现问题,Tomcat服务可以打开,但是无法连接到数据库
- JavaScript实现大整数减法
继上一篇博文写了大整数加法之后,我又模拟上篇博文的算法,自己实现了大整数减法. 大整数减法相对于加法来说,稍微复杂一点.由于要考虑一些情况: 1. 两个数相减,可能会出现结果为正.负和0三种情况: 2 ...
- Good Time 冲刺 一
2018/6/14 我们组之前没有开发小程序的经验,所以在尝试中不断探索与学习.在完成小程序的初步注册和界面完善后,我们组开始进行开发任务. 1.1成员简述: 王怡镔:“今天主要学习小程序开发知识及相 ...
- Ubuntu16.04 下虚拟环境的创建与使用
1. 虚拟环境 虚拟环境(virtual environment),顾名思义是虚拟出来的环境,通俗来讲,可以借助虚拟机,docker来理解虚拟环境,就是把一部分内容独立出来,我们把这部分独立出来的 ...
- beta 发布的相关评论
1. 礼物挑选小工具 飞天小女警 这个项目的创意独具匠心,贴近实际,令人耳目一新,网站的页面也是玫红色的,配色让人感到很温馨,对礼物的筛选方式很有趣,使用的记录特殊日子的方法来提醒自己挑选礼 ...
- 利用ceye中的dns来获取数据
安恒杯的一道命令执行题目 查看,存在robots.txt文件 查看index.txt文件,存在where_is_flag.php文件 使用cat没有任何回显 可以使用ceye平台利用dns记录内容,网 ...
- Linux上的free命令详解-收藏
解释一下Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free Output).例如: FO[2][ ...
- 利用stream对map集合进行过滤
最近公司在大张旗鼓的进行代码审核,从中也发现自己写代码的不好习惯.一次无意的点到了公司封装的对map集合过滤的方法,发现了stream.于是研究了一下.并对原有的代码再次结合Optional进行重构下 ...
- BZOJ5089 最大连续子段和(分块)
假设所有操作都是对整个序列的.考虑每个子区间,区间和与其被加的值构成一次函数关系.最大子段和相当于多个子区间取最大值,答案显然就在这些一次函数构成的下凸壳上.如果预处理出凸壳,只要在凸壳上暴力跳就可以 ...
- 【spoj NSUBSTR】 Substrings
http://www.spoj.com/problems/NSUBSTR/ (题目链接) 题意 给出一个字符串S,令${F(x)}$表示S的所有长度为x的子串出现次数的最大值.求${F(1)..... ...