gitlab 远程 定时备份

上一篇已经记录了给gitlab本地做自动备份的解决方案,但是源码安全关乎研发部门的生命,还是需要进一步提高容灾能力。首先研发部门暂时没有老法师能够在服务器挂了之后通过硬盘将服务器完全恢复,虽然服务器做了raid5,谨慎起见还是得实现远程自动备份的解决方案,当源码服务器出现灾难性故障时可以保证恢复源码的功能。 为了能够符合我的部署步骤,我将其中部分内容重新整理并修改,也增补了一点细节说明。  一、环...
摘要由CSDN通过智能技术生成

上一篇已经记录了给gitlab本地做自动备份的解决方案,但是源码安全关乎研发部门的生命,还是需要进一步提高容灾能力。首先研发部门暂时没有老法师能够在服务器挂了之后通过硬盘将服务器完全恢复,虽然服务器做了raid5,谨慎起见还是得实现远程自动备份的解决方案,当源码服务器出现灾难性故障时可以保证恢复源码的功能。

 为了能够符合我的部署步骤,我将其中部分内容重新整理并修改,也增补了一点细节说明。 

 


一、环境准备

1.gitlab所在的服务器A(centos7,192.168.1.1)

2.备份服务器B(centos7,192.168.1.2)

3.gitlab本地备份目录设置为/var/opt/gitlab/backups/log,本篇也是以此展开

 

gitlab已经配置了本地备份。如果没有配置,可以参考http://www.cnblogs.com/straycats/p/7671204.html

 

 


二、通过密钥配对取消scp传输密码的限制

 手动备份数据费时费力。最好的方法就是通过脚本实现远程自动备份。但远程无论是通过SSH登陆,还是通过scp拷贝文件都需要输入密码。

 为了克服这个问题,首先需要实现不需要密码的SSH登陆,这样就可以使用 rsync,scp,rexec等命令来做的远程备份了。

 

2.1 生成密钥对

假设A,B两服务器,现在需要在A机上用root登陆B机,而不需要输入密码。那我们可按照下面的步骤来做:

 1)在gitlab服务器A上生成rsa证书 

ssh-keygen -t rsa

 

 (这里需要增加截图,我第一次部署时忘记截了之后补)

1、生成的过程中提示输入密钥对保存位置,直接回车,接受默认值就行了。 
2、因为之前已经有/root/.ssh/id_rsa 文件存在,因此提示你是否覆盖,输入y表示覆盖 
3、接着会提示输入一个密码,直接回车,让它空着。当然,也可以输入一个密码。 
4、接着输入确认密码,输入完之后,回车密钥对就生成完了。

 

 这样,在/root/.ssh下生成id_rsa 和 id_rsa.pub 两个文件,其中公共密钥保存在 /root/.ssh/id_rsa.pub,私有密钥保存在/root/.ssh/id_rsa。

 

 2)在gitlab服务器A上cp生成rsa公钥证书 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值