gitlab 本地 定时备份
===============================================
20171015_第1次修改 ccb_warlock
===============================================
部署:http://www.cnblogs.com/straycats/p/7637373.html
升级:http://www.cnblogs.com/straycats/p/7707359.html
远程备份:http://www.cnblogs.com/straycats/p/7672692.html
迁移/恢复:http://www.cnblogs.com/straycats/p/7702271.html
经过推动,研发部门终于更换了使用了3年的git,发现之前源码管理并没有备份机制,既然接手了it这块我就得改变这种“裸奔”的现状,为此查找了资料,整理这一块本地备份的解决方案。
一、环境准备
我们默认一台服务器已成功部署了gitlab。
如果还没有成功部署,可以参考 http://www.cnblogs.com/straycats/p/7637373.html。
二、手动备份gitlab
很方便,因为gitlab有指令直接支持手动备份。
gitlab-rake gitlab:backup:create
这里要特别说明,如果 /etc/gitlab/gitlab.rb 配置了参数“backup_path”(例如gitlab_rails['backup_path'] = '/backup'),则备份的目录就是该目录下(/backup/);
如果没有配置参数“backup_path”,则gitlab把备份文件生成到默认目录/var/opt/gitlab/backups。
仅仅这样不够,每天我这里的运维工作也有不少,如果每天都来手动备份,虽然只要几分钟,但是人工成本很高,所以还是要考虑使用自动定时的方式进行备份。
三、定时自动备份gitlab(本地)
定时备份的思路建立在手动的基础上,通过crontab添加定时计划就可以解决这个问题。
一般添加定时计划可以有2种方式:
1.使用命令crontab -e,将定时任务添加后保存。
2.将定时任务添加到/etc/crontab文件中。
我这里采取第一种,使用crontab -e。
crontab -e
根据我们部门的工作时间,我设计一天备份2次,分别在每天12:00、19:00,故我添加下面的内容,并保存。
0 12 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
0 19 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
重启crontab
systemctl restart crond
但是仅仅实现自动备份还是不够,备份如果不能及时清理硬盘的空间很快会不够用,同时也要能够自动清理不需要人工花时间在这一块。
四、自动清理
这一块由于gitlab已经支持,我就走简单的方案,配置gitlab来实现自动清理功能。
vim /etc/gitlab/gitlab.rb
将其中backup_keep_time的配置取消注释,根据需要设置自动清理多少天前的备份,我这里是设置备份保留7天(7*3600*24=604800),保存。
gitlab_rails['backup_keep_time'] = 604800
重新加载gitlab的配置文件
gitlab-ctl reconfigure
参考资料:
1.http://www.cnblogs.com/shansongxian/p/6599144.html
2.http://blog.csdn.net/ouyang_peng/article/details/77070977
gitlab 本地 定时备份的更多相关文章
- gitlab 远程 定时备份
=============================================== 2017/11/1_第2次修改 ccb_warlock 更新 ...
- Gitlab备份,Crontab定时备份
1:Gitlab备份非常简单,只需要一条命令就可以创建完整的备份 gitlab-rake gitlab:backup:create 使用以上命令,就相当于在/var/opt/gitlab/backup ...
- Gitlab 定时备份
要求 1.为了能够备份和恢复,请确保你的系统上安装了Rsync #Debian/Ubauntu sudo apt-get install rsync # RHEL/Centos sudo yum in ...
- Centos 8 上定时备份Gitlab ,脚本实现定时备份,备份恢复
定时备份 要求 为了能够备份和恢复,请确保你的系统上安装了Rsync yum install rsync -y 配置备份目标机器免密认证 执行ssh-keygen -t rsa 生成私钥和公钥 ssh ...
- 七牛云qshell工具定时备份空间文件到本地
qshell 是利用七牛文档上公开的 API实现的一个方便开发者测试和使用七牛API服务的命令行工具,使用该工具可以实现很多的功能,今天就分享一下利用qshell定时备份空间文件到本地 1.下载qsh ...
- linux定时备份mysql并同步到其它服务器
数据在任何一家公司里面都是最核心的资产,定期备份则是为了保证数据库出现问题的时候能够及时回滚到最近的备份点,将损失缩小到最小 这篇文章将会两部分来说明:1.mysql的定期备份:2.同步到其它服务器 ...
- Python +crontab定时备份目录发送邮件
公司有一台静态页面展示服务器仅供给客户展示我们做的项目,当时买的时候是最低配,也就是磁盘空间为20G的系统盘,考虑到代码量很小所以没有另加磁盘,后来项目多了,就写了个crontab 定时备份目录. 就 ...
- mysql线上一个定时备份脚本
数据库服务使用的是阿里云的mysql,远程进行定时的全量备份,备份到本地,以防万一.mysql数据库远程备份的数据最好打包压缩: [root@huanqiuPC crontab]# pwd/Data/ ...
- Navicat for MySQL定时备份数据库及数据恢复
在做数据库修改或删除操作中,可能会导致数据错误,甚至数据库奔溃,而有效的定时备份能很好地保护数据库.本篇文章主要讲述Navicat for MySQL定时备份数据库和数据恢复等功能,同时可以定时播放电 ...
随机推荐
- Django 2.0 新特性 抢先看!
一.Python兼容性 Django 2.0支持Python3.4.3.5和3.6.Django官方强烈推荐每个系列的最新版本. 最重要的是Django 2.0不再支持Python2! Django ...
- 盘点CSS中可以和不可以继承的属性
CSS中可以和不可以继承的属性 一.无继承性的属性 1.display:规定元素应该生成的框的类型 2.文本属性: vertical-align:垂直文本对齐 text-decoration:规定 ...
- KD-tree详解
转载自:http://blog.csdn.NET/zhjchengfeng5/article/details/7855241 首先来一个问题: 给定平面上一个点集 E ,还有一个定点 V ,怎么在一群 ...
- JVM内存模型及垃圾回收的研究总结
Java内存模型 总的来说就分为两个区域,堆内存(Heap)和非堆内存(No-Heap),非堆内存又称为永久代(Permanent),永久的意思其实是针对于垃圾回收器来说的,表示这部分内容不需要回收. ...
- 计算器的单元测试dome
通过上一篇文章,Appium环境已经搭建好了,下面我们通过Python脚本来测试原生的计算器程序 --------------------------------------------------- ...
- 初识java这个小姑娘(一)
忽然想起这样一个场景:那时我还是小学三年级的一个小学生,上课的铃声响起,文艺委员起头,大家开始胡乱的开始唱歌,"让我们荡起双桨,小船儿推开波浪",歌声在一片稚气中慢慢停止.我们的语 ...
- C++ size_t 和size_type的区别
为了使自己的程序有很好的移植性,c++程序员应该尽量使用size_t和size_type而不是int, unsigned size_t是全局定义的类型:size_type是STL类中定义的类型属性,用 ...
- mysql 基本语法
################################################################# #author: 陈月白 #_blogs: http://www.c ...
- ansible批量管理软件部署及剧本
服务器版本信息: Centos6.9 [root@db02 ~]# uname -a Linux db02 -.el6.x86_64 # SMP Tue Mar :: UTC x86_64 x86_6 ...
- Web离线应用解决方案——ServiceWorker
什么是ServiceWorker 在介绍ServiceWorker之前,我们先来谈谈PWA.PWA (Progressive Web Apps) 是一种 Web App 新模型,并不是具体指某一种前沿 ...