​​

包:https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/6/gitlab-ce-10.2.1-ce.0.el6.x86_64.rpm?page=6

常用命令连接:

一、gitlab创建备份

在终端中执行:gitlab-rake gitlab:backup:create 备份文件所在路径为:/var/opt/gitlab/backups/

备份得到的文件格式如:1504860571_2017_09_08_9.5.3_gitlab_backup.tar   时间挫_年_月_日_gitlap版本_gitlab_backup.tar

若需修改备份文件的存放路径:vim  /etc/gitlab/gitlab.rb 修改# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"即可

自动备份:可以借助于时间任务进行。

具体实现:crontab -e    

     37 10 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create  --每天的10:37执行备份。

自动清除备份文件

vim /var/opt/gitlab/backups/remove.sh  --创建备份脚本

!/bin/bash

find "/var/opt/gitlab/backups/" -name "*.tar" -ctime +30  -exec rm -rf {} \;  

#删除30以前的备份文件

chmod +x /var/opt/gitlab/backups/remove.sh

contab -e

45 10 * * * sh /var/opt/gitlab/backups/remove.sh   --每天的10:45执行删除备份的脚本


二:gitlab还原

停止相关数据连接服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

还原操作

假设从1505097437_2017_09_11_9.5.3_gitlab_backup.tar备份文件中恢复

在终端执行:gitlab-rake gitlab:backup:restore BACKUP=1505097437

启动gitlab服务

gitlab-ctl start

注意:不能直接在终端执行gitlab-ctl stop停止所有服务。因gitlab删除和还原操作还需要使用到redis和postgresql连接

 

三、gitlab迁移

在新的服务器上搭建好gitlab环境但gitlab版本需跟原有版本一致。然后将原gitlab备份拷贝到新gitlab环境的对应位置,再执行还原过程即可。

注意:cp的时候属主和属组会改变,导致权限不够,需要修改成git为所属者。

在终端执行:chown git:git  /var/opt/gitlab/backups/1505097437_2017_09_11_9.5.3_gitlab_backup.tar