Gitlab_screenshot

gitlab服务备份与恢复实战

Gitlab是一款开源的Git版本管理系统,可以通过WEB界面访问公开或者私人的Git项目。详细的介绍与Gitlab安装方法可以查看在ubuntu上快速安装Gitlib开源Git版本管理系统 。本篇文章主要内容有:备份gitlab数据、定时备份gitlab数据、恢复gitlab数据以及迁移gitlab,熟练掌握可以增加gitlab服务的容灾性。

实战环境

服务器版本:Linux bogon 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 GNU/Linux

gitlb版本:8.9.0

备份gitlab服务器数据

使用如下命令即可创建Gitlab备份。

gitlab-rake gitlab:backup:create

可以看到数据备份成功:


Dumping database ... 
Dumping PostgreSQL database gitlabhq_production ... [DONE]
done
Dumping repositories ...
 * root/test ... [DONE]
 * root/test.wiki ...  [SKIPPED]
done
Dumping uploads ... 
done
Dumping builds ... 
done
Dumping artifacts ... 
done
Dumping lfs objects ... 
done
Dumping container registry images ... 
[DISABLED]
Creating backup archive: 1466811825_gitlab_backup.tar ... done
Uploading backup archive to remote storage  ... skipped
Deleting tmp directories ... done
done
done
done
done
done
done
Deleting old backups ... skipping
备份gitlab成功
备份gitlab成功

备份后在/var/opt/gitlab/backups目录下生成备份文件,类似是这样的 1466811825_gitlab_backup.tar 文件,其中1466811825是备份时的服务器时间戳。

定时备份gitlab数据

使用linux服务器中的crontab就可以设置定时备份gitlab数据了,过程如下:

1、切换到root用户

su

2、添加gitlab备份定时任务

#添加任务
crontab -e

#每天5点备份gitlab数据
0 5 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

恢复gitlab数据

恢复数据使用以下命令:

# 停止相关数据连接服务
gitlab-ctl stop unicorn 
gitlab-ctl stop sidekiq 

# 从1393513186编号备份中恢复 
gitlab-rake gitlab:backup:restore BACKUP=1466811825

# 启动
Gitlab sudo gitlab-ctl start

迁移gitlab数据

迁移gitlab数据到新的服务器上流程和恢复差不多,和恢复不同的是你首先要在新服务器上安装同版本的gitlab,然后将备份数据,例如1466811825_gitlab_backup.tar 复制到新服务器的/var/opt/gitlab/backups目录下,然后执行恢复程序即可。

原创文章,转载请注明: 转载自科技爱好者博客

本文链接地址: gitlab服务备份与恢复实战 (http://blog.lxx1.com/1853)

如果博客对您有帮助,请给我 打赏


科技爱好者

工科学生大四在读,专业嵌入式开发,喜欢计算机,喜欢单片机,喜欢各种各样美好的东西,相信科技正在改变世界! 这是我的 个人博客

One thought on “gitlab服务备份与恢复实战

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.