博客 > 术业专攻> 代码管理> Git> Gitlab实战应用–Gitlab备份以及恢复 2019年08月29日 11:27:25
公司更换了新的服务器,需要把原先的gitlab迁移到新的服务器上。
从a服务器迁移到b服务器,由于Gitlab自身的兼容性问题,高版本的Gitlab无法恢复低版本备份的数据,需要注意在b服务器部署和a服务器一样版本的gitlab,部署好环境后开始备份和数据迁移.
查看gitlab版本的命令:
gitlab-rake gitlab:env:info
gitlab-rake gitlab:backup:create RAILS_ENV=production
PS
: 备份后的文件一般是位于/var/opt/gitlab/backups下, 自动生成文件名文件名如1481529483_gitlab_backup.tar
可以利用scp进行直接拷贝.
scp username@src_ip:/var/opt/gitlab/backups/1481529483_gitlab_backup.tar /var/opt/gitlab/backups
PS
: username为原服务器的用户名,src_ip原服务器IP地址
gitlab-rake gitlab:backup:restore RAILS_ENV=production BACKUP=/var/opt/gitlab/backups/1511876879_2017_11_28_10.1.0
PS
:BACKUP的时间点必须与原服务器备份后的文件名一致
PPS
:一般备份出来的名字是这样的,命令使用格式是git前边的数据就行
OK,恢复成功!
写一个简单的脚本,加入到定时任务,以保证每天备份一次代码到异地。
写脚本之前,先创建一下对应的工作目录:
$ mkdir /backup $ touch /backup/logfile.txt
脚本内容如下:
#!/bin/bash Bakupdir=/var/opt/gitlab/backups/ Logfile=/backup/logfile.txt Date=`date +%Y-%m-%d` gitlab-rake gitlab:backup:create RAILS_ENV=production if [ $? -eq 0 ];then echo "$Date Backup Successful" >> $Logfile else echo "$Date Backup Failed" >> $Logfile fi cd $Bakupdir scp *.tar backup@192.168.106.222:/home/backup/gitbak rm -rf *
然后将脚本加入定时任务,根据需求,定期执行即可!
修改/etc/sysctl.conf
加上vm.overcommit_memory = 1, Linux内核会根据参数vm.overcommit_memory参数的设置决定是否放行。
修改完执行sysctl -p
vm.overcommit_memory = 1,直接放行
vm.overcommit_memory = 0:则比较 此次请求分配的虚拟内存大小和系统当前空闲的物理内存加上swap,决定是否放行。
vm.overcommit_memory = 2:则会比较进程所有已分配的虚拟内存加上此次请求分配的虚拟内
参考网址:http://wenva.github.io/git/2016/04/22/Gitlab%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB.html
© 2018 www.qingketang.net 鄂ICP备18027844号-1
武汉快勤科技有限公司 13554402156 武汉市东湖新技术开发区关山二路特一号国际企业中心6幢4层7号
扫码关注,全站教程免费播放
订单金额:
支付金额:
支付方式: