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

原文地址:https://www.cnblogs.com/zhangqigao/p/10518239.html

时间: 2024-10-04 02:49:54

gitlab的备份与恢复与迁移的相关文章

gitlab人备份与恢复

注意新建备份目录是:/usr/local/src/repositories 属主和属组: # ll -d repositories/ drwx------ 4 git root 4096 Feb 7 17:32 repositories/ 修改配置文件: vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml ## Backup settings backup: #path: "/var/opt/gitlab/backups

gitlab完整迁移

环境介绍: CentOS 6.7 gitlab:6.3.1 需求:gitlab从A服务器迁移至B服务器 第一.在B服务器上部署gitlab环境 参考<GitLab完整搭建(版本6.3.1)> 第二.备份A服务器上的数据 1).打包仓库文件 #su- git $cd/home/git/ $tarzcvf repositories.tar.gz ./repositories 2).备份sql文件 $mysqldump-uroot -pxxxx gitlabhq_production > /t

GitLab远程仓库迁移

GitLab上的项目迁移,实质上是更改远程仓库的url.我们在同一个用户下面迁移项目的时候可以更改项目的"project name"来实现项目的迁移.但当用户A的项目迁移到用户B的时候,可以在用户B下面新建一个项目,然后把项目A的文件拷贝过来,但是这种容易丢失commit的log记录.不想丢失commit log记录的话,可以用重置url的方法来实现. 1.首先查看UserA当前项目的remote url: $ git remote -v origin  [email protecte

GitLab多机备份与恢复操作

一.作用说明 备份:假设我们当前的gitlab挂掉了,整个服务器都起不来了,但是我们有对gitlab的归档备份,这时候还可以恢复出数据来. 迁移:假设此时使用的gitlab服务器出现故障运行不了,但是我们对gitlab在远端机有归档备份,这时候我们就可以在远端机把数据恢复重新搭建gitlab. 注意的是:备份和迁移的恢复操作是全量的,操作前要确认是否要进行备份或者恢复操作. 二.前提条件 在新的主机安装与之前机器相同版本的gitlab rpm包.也就是说要保证两台或者多台机器安装的gitlab版

gitlab部署、配置更改、备份及恢复

1.gitlab部署 官网 gitlab.com Ubuntu14.04安装 1.Install and configure the necessary dependencies sudoapt-get install postfix 2. Download the Omnibus package and install everything wgethttps://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab_7.9.4-omn

ubuntu16部署gitlab

一.gitlab的安装 1. 安装依赖包 1 $ sudo apt-get update #如无ssh还需安装penssh-server $ sudo apt-get install postfix ca-certificates -y //安装postfix时选择不带Smarthost的Internet 2. 添加清华大学镜像源 1) 信任Gitlab的GPG公钥 $ curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo ap

Gitlab代码管理平台部署(CentOS6.7—gitlab7.2.12)

部署环境准备 Gitlab需要以下系统与软件环境: Ruby (MRI) 2.1 Git 1.7.10+ Redis 2.4+ MySQL 由于系统的git,ruby环境一般版本比较低,因此需考虑升级. 1.升级git. 删除原系统的git: #rpm -eperl-Git-1.7.1-3.el6_4.1.noarch git-1.7.1-3.el6_4.1.x86_64 源码包编译安装git: #tar -zxvf git-2.6.3.tar.gz #cd git-2.6.3 #autocon

gitlab的安装和使用(三)

gitlab的安装和使用(三) gitlab迁移 从一台gitlab服务器迁移到另一台gitlab上((⊙o⊙)-为什么会有这样的需求 , 还好有办法) 我用的是gitlab自身的back迁移 (注意重要的事情说三遍:两边版本要一致两边版本要一致两边版本要一致) 查看gitlab版本的命令:[[email protected] gitlab]# gitlab-rake gitlab:env:info 备份原a服务器上的的数据gitlab-rake gitlab:backup:create RAI

gitlab的安装和使用(二)

gitlab的安装和使用(二) 使用过程中遇到的问题: 数据盘不够用了解决办法:gitlab数据本地目录迁移 gitlab代码数据默认目录:/var/opt/gitlab/git-data/repositories在新数据盘data目录下新建gitlab-data目录,把旧数据拷贝过去再重新启动gitlab,操作如下: 停止数据连接服务[[email protected] git-data]# gitlab-ctl stop unicorn ok: down: unicorn: 0s, norm