Gitlab安装、备份与恢复
背景:由于需要把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安装、备份与恢复的更多相关文章
- Gitlab 安装、升级、备份、恢复、汉化等
一.Gitlab安装 1. 基于yum方式安装Gitlab 安装步骤如下 (1)配置yum源 # vim /etc/yum.repos.d/gitlab-ce.repo (2)复制如下内容并保存(注意 ...
- GitLab安装说明
GitLab,是一个使用 Ruby on Rails 开发的开源应用程序,与Github类似,能够浏览源代码,管理缺陷和注释,非常适合在团队内部使用. gitlab是基于Ruby on Rails的, ...
- Gitlab安装、汉化及使用
环境:centos 关闭防火墙和selinux [root@Gitlab ~]# setenforce [root@Gitlab ~]# service iptables stop && ...
- git\CentOS6.5中gitlab安装教程
一.Git 起源: Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本 ...
- Ubuntu gitlab安装文档及邮件通知提醒配置
1.安装依赖包,运行命令 sudo apt-get install curl openssh-server ca-certificates postfix 2.由于gitlab官方源可能被“墙”,首先 ...
- gitlab安装随记
gitlab安装 配置yum源 sudo vim /etc/yum.repos.d/gitlab-ce.repo 按照网上别人的例子,修改为清华的源 [gitlab-ce] name=Gitlab C ...
- CentOS 7 环境下GitLab安装及基本配置
新实验室要求重新建设GitLab,对于我来讲,是第一次有机会当元老参与实验室的建设.下面分享我自己的实测经验: 1. 安装依赖软件并设置开机启动 yum install curlpolicycoreu ...
- GitLab安装及使用
GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. GitLab拥有与Github类似的功能,能够浏览 ...
- gitlab之一: gitlab安装配置使用
参考: gitlab 安装和配置 gitlab下载地址: https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/ 官方教程: https://about.gitl ...
- Gitlab安装以及汉化
Gitlab安装以及汉化 系统环境: CentOS 7.5 IP:192.168.1.2 关闭selinux.firewalld gitlab-ce-10.8.4 rpm包:下载地址 一.下载并安装g ...
随机推荐
- Docker(Linux)学习笔记以及Redis/MariaDB的容器使用后台全自动启动
1:Docker安装,由于Docker后续pull镜像的服务器默认是在国外的,速度实在是太慢,这里使用阿里云的镜像 阿里云的Docker CE 镜像源站进行安装 docker ===========U ...
- jdk8 HashMap tableSizeFor
今天读jdk8 HashMap源码,构造函数中 根据initialCapacity初始化threshold public HashMap(int initialCapacity, float loa ...
- Appium基于PO模型的自动化测试(Python)
基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(unitt ...
- 洛谷 p1008三连击
洛谷 p1008三连击 题目背景 本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序. 题目描述 将1,2, ⋯,9共99个数分成3组,分别组成3个三位数, ...
- react-custom-scrollbars的使用
react-custom-scrollbars的作用 流畅的本机浏览器滚动 移动设备的本机滚动条 完全可定制 自动隐藏 自动高度 通用(在客户端和服务器上运行) requestAnimationFra ...
- Django框架(二十三)-- Django rest_framework-视图组件
一.基本视图 class PublishView(APIView): def get(self, request): publish_list = Publish.objects.all() bs = ...
- SMTP 与 IMAP
(SMTP)邮件传输协议 :电子邮件写好后,由网络传输时的建立在tcp协议基础之上的协议 (IMAP)邮件访问协议:邮件到达目的服务器后,用户从用户的pc ,移动端,等到 接收邮件服务器上去访问自己的 ...
- CentOS6.7安装Oracle数据库
- 201871010108-高文利《面向对象程序设计(java)》第十周学习总结
项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址> ht ...
- web权限验证方法说明[转载]
前言 本文将会从最基本的一种web权限验证说起,即HTTP Basic authentication,然后是基于cookies和tokens的权限验证,最后则是signatures和一次性密码. HT ...