背景:由于需要把gitlab从A服务器转移到B服务器,故在B服务器进行gitlab的安装和恢复备份

步骤:

一、在B服务器安装Gitlab

1. 获取安装包

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-7.10.4~omnibus-1.x86_64.rpm

2. 安装

rpm -i gitlab-ce-7.10.4~omnibus-1.x86_64.rpm

3. 修改配置文件(修改端口号、域名、数据路径、备份路径、禁用gitlab自带的nginx)

vim  /etc/gitlab/gitlab.rb

#修改端口
unicorn['port'] =
#修改域名
external_url 'http://gitlab.abc.com'
#数据存放路径
git_data_dir "/data/gitlab/git-data"
#备份路径
gitlab_rails['backup_path'] = "/data/gitlab/backups"
#禁用自带的nginx(如果使用自带的则设置为true, 因为我的B服务器已经有nginx在运行,故不使用自带的)
nginx['enable'] = false

4. 使配置生效

gitlab-ctl reconfigure

5. 启动gitlab

gitlab-ctl restart

==============nginx['enable'] = false 时配置 6,7步===============

6. 配置nginx使域名能访问到gitlab

upstream gitlab {
server unix://var/opt/gitlab/gitlab-rails/sockets/gitlab.socket;
} server {
listen ;
server_name gitlab.abc.com;
access_log /data/logs/nginx/access_gitlab.abc.com.log main buffer=1k; location / {
proxy_pass http://127.0.0.1:8088;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 600s;
client_max_body_size 1024m;
}
}

7. 重启nginx

/opt/tengine/sbin/nginx -s reload

==============nginx['enable'] = false 时配置 6,7步===============

8. 访问域名,确认安装成功

二、备份A服务器的gitlab数据

1. 备份命令

gitlab-rake gitlab:backup:create

2. 把备份生成的文件拷贝到B服务器的gitlab备份目录下(拷贝到其他目录无法完成恢复)

scp 1574279663_gitlab_backup.tar root@B服务器IP:/data/gitlab/backups/

三、B服务器恢复Gitlab备份数据

1. 停止相关数据连接服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

2. 执行恢复备份命令(注意BACKUP后面接着备份文件的前缀即可, gitlab会自动加上 _gitlab_backup.tar 部分)

gitlab-rake gitlab:backup:restore BACKUP=1574279663

3. 恢复完毕后,重启gitlab

gitlab-ctl restart

4. 访问B服务器的Gitlab地址 http://gitlab.abc.com,确认数据已经恢复成功

四、配置B服务器的每日定时备份

1. 创建脚本文件

touch /data/gitlab/backups/gitlab_backup.sh

2. 编辑脚本文件

vim /data/gitlab/backups/gitlab_backup.sh

加入如下内容: (注意:环境变量CRON=1的作用是如果没有任何错误发生时, 抑制备份脚本的所有进度输出)

#!/bin/bash
/usr/bin/gitlab-rake gitlab:backup:create CRON=

3. 增加执行权限

chmod u+x /data/gitlab/backups/gitlab_backup.sh

4. 修改定时任务

crontab -e

加入如下内容(每天凌晨两点备份)

  * * * sh /data/gitlab/backups/gitlab_backup.sh > /dev/null >&

完毕~~~~~~~~~~

Gitlab安装、备份与恢复的更多相关文章

  1. Gitlab 安装、升级、备份、恢复、汉化等

    一.Gitlab安装 1. 基于yum方式安装Gitlab 安装步骤如下 (1)配置yum源 # vim /etc/yum.repos.d/gitlab-ce.repo (2)复制如下内容并保存(注意 ...

  2. GitLab安装说明

    GitLab,是一个使用 Ruby on Rails 开发的开源应用程序,与Github类似,能够浏览源代码,管理缺陷和注释,非常适合在团队内部使用. gitlab是基于Ruby on Rails的, ...

  3. Gitlab安装、汉化及使用

    环境:centos 关闭防火墙和selinux [root@Gitlab ~]# setenforce [root@Gitlab ~]# service iptables stop && ...

  4. git\CentOS6.5中gitlab安装教程

    一.Git 起源: Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本 ...

  5. Ubuntu gitlab安装文档及邮件通知提醒配置

    1.安装依赖包,运行命令 sudo apt-get install curl openssh-server ca-certificates postfix 2.由于gitlab官方源可能被“墙”,首先 ...

  6. gitlab安装随记

    gitlab安装 配置yum源 sudo vim /etc/yum.repos.d/gitlab-ce.repo 按照网上别人的例子,修改为清华的源 [gitlab-ce] name=Gitlab C ...

  7. CentOS 7 环境下GitLab安装及基本配置

    新实验室要求重新建设GitLab,对于我来讲,是第一次有机会当元老参与实验室的建设.下面分享我自己的实测经验: 1. 安装依赖软件并设置开机启动 yum install curlpolicycoreu ...

  8. GitLab安装及使用

    GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. GitLab拥有与Github类似的功能,能够浏览 ...

  9. gitlab之一: gitlab安装配置使用

    参考: gitlab 安装和配置 gitlab下载地址: https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/ 官方教程: https://about.gitl ...

  10. Gitlab安装以及汉化

    Gitlab安装以及汉化 系统环境: CentOS 7.5 IP:192.168.1.2 关闭selinux.firewalld gitlab-ce-10.8.4 rpm包:下载地址 一.下载并安装g ...

随机推荐

  1. Java生鲜电商平台-定时器,定时任务quartz的设计与架构

    Java生鲜电商平台-定时器,定时任务quartz的设计与架构 说明:任何业务有时候需要系统在某个定点的时刻执行某些任务,比如:凌晨2点统计昨天的报表,早上6点抽取用户下单的佣金. 对于Java开源生 ...

  2. GIT版本管理工具教程

    目录 GIT版本管理工具教程 一 Git初始化 二 简单指令使用 基本操作 简单总结 三 Git进阶 Git三大区域 Git回滚 Git分支 Git工作流 四 Github代码管理仓库 第一步:注册G ...

  3. js 加密混淆工具

    访问路径:https://www.sojson.com/javascriptobfuscator.html

  4. maven 学习---使用Maven清理项目

    在基于Maven的项目中,很多缓存输出在“target”文件夹中.如果想建立项目部署,必须确保清理所有缓存的输出,从面能够随时获得最新的部署. 要清理项目缓存的输出,发出以下命令: mvn clean ...

  5. 多版本切换python

    Python 安装包去官网自行下载: https://www.python.org/downloads/mac-osx/ Mac os 自带python, 但我记得是python2.7版本 在选择安装 ...

  6. Python环境安装与基础语法(1)——计算机基础知识

    Python安装 pip #包管理工具 pip install #安装包 pip list #查看包 IPython #增强的python shell,自动补全,自动缩进,支持shell,增加了很多函 ...

  7. 10-剑指offer: 数值的整数次方

    题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 代码 class Solution { public: double Powe ...

  8. uwsgi + nginx 发布

    下载uwsgi 基于pip 若是没有下载 yum install -y python2-pip pip install uwsgi 出上面的错 ,安装python的development包 yum i ...

  9. ssh config 配置

    一个打开新连接免密码的小技巧 Host * ControlMaster auto ControlPath ~/.ssh/master-%r@%h:%p

  10. poi基本使用

    poi基本使用 依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi< ...