Gitlab+Jenkins学习之路(四)之gitlab备份和恢复
- gitlab的备份和恢复
(1)创建备份目录,并授权
[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 git git Dec : /data/
(2)修改gitlab配置
[root@linux-node1 ~]# vim /etc/gitlab/gitlab.rb
gitlab_rails['backup_path'] = "/data/backups/gitlab" #备份路径
gitlab_rails['backup_keep_time'] = #备份7天
[root@linux-node1 ~]# gitlab-ctl reconfigure
[root@linux-node1 ~]# gitlab-ctl restart
ok: run: gitaly: (pid ) 0s
ok: run: gitlab-monitor: (pid ) 1s
ok: run: gitlab-workhorse: (pid ) 0s
ok: run: logrotate: (pid ) 0s
ok: run: nginx: (pid ) 0s
ok: run: node-exporter: (pid ) 0s
ok: run: postgres-exporter: (pid ) 0s
ok: run: postgresql: (pid ) 0s
ok: run: prometheus: (pid ) 0s
ok: run: redis: (pid ) 0s
ok: run: redis-exporter: (pid ) 1s
ok: run: sidekiq: (pid ) 0s
ok: run: unicorn: (pid ) 0s
(3)备份
[root@linux-node1 ~]# gitlab-rake gitlab:backup:create
Dumping database ...
Dumping PostgreSQL database gitlabhq_production ... [DONE]
done
Dumping repositories ...
* java/app1 ... [DONE]
* java/app1.wiki ... [SKIPPED]
done
Dumping uploads ...
done
Dumping builds ...
done
Dumping artifacts ...
done
Dumping pages ...
done
Dumping lfs objects ...
done
Dumping container registry images ...
[DISABLED]
Creating backup archive: 1513759548_2017_12_20_10..4_gitlab_backup.tar ... done
Uploading backup archive to remote storage ... skipped
Deleting tmp directories ... done
done
done
done
done
done
done
done
Deleting old backups ... done. ( removed)
(4)查看备份目录
[root@linux-node1 ~]# ll /data/backups/gitlab/
total
-rw------- git git Dec : 1513759548_2017_12_20_10..4_gitlab_backup.tar
#1513759548_2017_12_20_10.2.4为时间戳,备份的时候用的着
(5)恢复备份
删除gitlab中的app1的项目,再恢复
停止数据写入服务:
[root@linux-node1 ~]# gitlab-ctl stop unicorn
[root@linux-node1 ~]# gitlab-ctl stop sidekiq
恢复数据:
[root@linux-node1 ~]# gitlab-rake gitlab:backup:restore BACKUP=1513759548_2017_12_20_10.2.4
[root@linux-node1 ~]# gitlab-ctl restart
ok: run: gitaly: (pid ) 0s
ok: run: gitlab-monitor: (pid ) 0s
ok: run: gitlab-workhorse: (pid ) 1s
ok: run: logrotate: (pid ) 0s
ok: run: nginx: (pid ) 1s
ok: run: node-exporter: (pid ) 0s
ok: run: postgres-exporter: (pid ) 1s
ok: run: postgresql: (pid ) 0s
ok: run: prometheus: (pid ) 1s
ok: run: redis: (pid ) 0s
ok: run: redis-exporter: (pid ) 1s
ok: run: sidekiq: (pid ) 0s
ok: run: unicorn: (pid ) 0s

此时即可恢复原来的项目
邮件配置:
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'] =
gitlab_rails['smtp_user_name'] = "xiaoming"
gitlab_rails['smtp_password'] = "your password"
gitlab_rails['smtp_domain'] = "126.com"
gitlab_rails['smtp_authentication'] = "login"
Gitlab+Jenkins学习之路(四)之gitlab备份和恢复的更多相关文章
- Gitlab+Jenkins学习之路(二)之gitlab部署
		1.安装依赖及gitlab [root@linux-node1 ~]# yum install -y curl policycoreutils openssh-server openssh-clien ... 
- Gitlab+Jenkins学习之路(十四)之自动化脚本部署实践
		目录 一.环境说明和准备 1.环境说明 2.服务器准备工作 二.发布脚本编写 1.自动化部署流程设计 2.自动化部署脚本编写 三.发布测试 1.开发机和github添加ssh信任 2.克隆项目到开发机 ... 
- Gitlab+Jenkins学习之路(六)之Jenkins部署、升级和备份
		一.什么是持续集成? (1)Continuous integration(CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集 ... 
- Gitlab+Jenkins学习之路(八)之发布maven项目及按版本发布
		一.什么是Maven maven是一个项目管理和综合工具.Maven提供给开发人员构建一个完整的生命周期框架. 开发团队可以自动完成该项目的基础设施建设,Maven使用标准的目录结构和默认构建生命周期 ... 
- Gitlab+Jenkins学习之路(十一)之Jenkins自动触发构建和发布
		思路图: 一.下载gitlab plugin jenkins-->系统管理-->管理插件-->下载并安装gitlab plugin 二.配置gitlab认证 路径:Jenkins-- ... 
- Gitlab+Jenkins学习之路(一)之Git基础
		1.GIT基础 GIT是一个分布式版本管理系统,速度快,适合大规模,跨地区多人协同开.SVN是一个集中式版本管理系统. (1)GIT生态 GIT分布式版本管理系统 Gitlab git私库解决方 ... 
- Gitlab+Jenkins学习之路(十三)之发布Java项目到tomcat
		一.新建一台虚拟机安装tomcat ()安装JDK 官网下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downl ... 
- Gitlab+Jenkins学习之路(三)之gitlab权限管理--issue管理
		1.创建Group,User,Project 创建一个组,组名为java Group path http://192.168.56.11/java Visibility Level: #为权限级别,一 ... 
- Gitlab+Jenkins学习之路(七)之发布PHP项目
		使用git+jenkins实现持续集成 Step1:构建一个自由风格的php-deploy Step2:Gernal配置,丢弃旧的构建,防止jenkins构建较多之后变臃肿 Step3:源码管理:这里 ... 
随机推荐
- JAVA使用POI如何导出百万级别数据
			用过POI的人都知道,在POI以前的版本中并不支持大数据量的处理,如果数据量过多还会常报OOM错误,这时候调整JVM的配置参数也不是一个好对策(注:jdk在32位系统中支持的内存不能超过2个G,而在6 ... 
- word问题
- Linux blkid命令详解
			blkid命令对查询设备上所采用文件系统类型进行查询.blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型.LABEL.UUID等信息进行查询.要使用这个命令必须安装e2fsprogs ... 
- asp.net core中DockerFile文件中的COPY
			今天在ubuntu系统中使用docker部署asp.net core时遇到了一个问题,docker build 的时候总会在最后一步提示 lstat obj/Docker/publish: no su ... 
- AT89S52之串行异步通信笔记
			SRF 中断入口地址 中断源 外中断 外部中断0 INT0(P3.2) 外部中断1 INT1(P3.3) 电平方式触发 低电平 脉冲方式触发 脉冲后延的负跳 内中断 定时中断 串行中断 中断允许控制寄 ... 
- November 5th Week 45th Saturday 2016
			The longest day has an end. 最难过的日子也会有尽头. No, no, no, I can't see the end of such days, of course, if ... 
- unix时间戳的转换
			UNIX时间戳转换为日期用函数: FROM_UNIXTIME() select FROM_UNIXTIME(1156219870); 日期转换为UNIX时间戳用函数: UNIX_TIMESTAMP() ... 
- elif    相当于else&if
			if 条件: 语句块 elif 条件: 语句块 ... else #elif好像要有一个else作为结尾 
- Oracle SQL Developer官方工具 初探
			查询表数据(打开工作表:Alt+F10) 运行SQL语句:(格式化:Ctrl+F7) 自动完成语句的设置 自动弹出的速度加快,并且将命中率提高,进行如下设置: 由于我的输入法占用了CTRL+,的快捷建 ... 
- HTML5 JS 实现浏览器全屏(F11的效果)
			项目中有需要使用JS来控制浏览器全屏的方法 DEMO地址: http://zhongxia245.github.io/demo/js2fullpanel.html function fullScree ... 
