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
最新文章
- js中避免函数名和变量名跟别人冲突
- 排列组合算法的javascript实现
- Foundation框架—日期类(NSDate)
- 数据库一些常用的SQL语句
- js技术发展
- js中this的理解
- 《TCP/IP详解卷1:协议》第19章 TCP的交互数据流-读书笔记
- PDA手持终端在ERP系统仓库管理出入库盘点环节的应用
- 再生核希尔伯特空间(RKHS)在监督学习(SVM)中的应用
- python常用字符串操作
- HTML Jquery;marquee标签
- 【转】[转]order by 1是什么意思?
- dojo报错总结
- 《Effective C++》模板与泛型编程:条款32-条款40
- 安卓websocket 封装基于Java-websocket
- ionic上拉加载组件 ion-infinite-scroll自动调用多次的问题
- redhat 7.5 更换 yum源
- xdoj-1010(区间问题)
- thunderbird中如何设置QQ邮箱
- Spark+IDEA单机版环境搭建+IDEA快捷键
热门文章
- 在centos上搭建SVN服务器和MySQL
- viewer.js的简单练习
- JS 判断某个字符串是否存在与数组中
- 通过Nutch扩展点开发插件(添加自定义索引字段到solr)
- 3、C#基础 - C# 的 Hello World
- (四):C++分布式实时应用框架——状态中心模块
- Python Django CMDB项目实战之-1如何开启一个Django-并设置base页、index页、文章页面
- Java 封装 HDFS API 操作
- Codeforces Round #313 (Div. 2) C
- 在企业和应用市场发布Office Add-in