gitlab备份、还原及迁移
安装gitlab可参考上篇博文:gitlab在centons环境下的安装及使用
包:https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/6/gitlab-ce-10.2.1-ce.0.el6.x86_64.rpm?page=6
常用命令连接:https://www.cnblogs.com/ray-mmss/p/10861703.html
一、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