Gitlab 创建备份
使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份:
gitlab-rake gitlab:backup:create
使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1393513186_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1393513186是备份创建的日期.
Gitlab 修改备份文件默认目录
你也可以通过修改/etc/gitlab/gitlab.rb来修改默认存放备份文件的目录:
gitlab_rails['backup_path'] = '/mnt/backups'
/mnt/backups修改为你想存放备份的目录即可, 修改完成之后使用gitlab-ctl reconfigure命令重载配置文件即可.
Gitlab 自动备份
也可以通过crontab使用备份命令实现自动备份:
sudo su - crontab -e
加入以下, 实现每天凌晨2点进行一次自动备份:
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
Gitlab 恢复
同样, Gitlab的从备份恢复也非常简单:
# 停止相关数据连接服务 gitlab-ctl stop unicorn gitlab-ctl stop sidekiq # 从1393513186编号备份中恢复 gitlab-rake gitlab:backup:restore BACKUP=1393513186 # 启动Gitlab sudo gitlab-ctl start
Gitlab迁移
迁移如同备份与恢复的步骤一样, 只需要将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups即 可(如果你没修改过默认备份目录的话). 但是需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同. 比如新服务器安装的是最新的7.60版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab 升级为7.60在进行备份.
其他
最新版本的Gitlab已经修复了HTTPS设备的BUG, 现在使用官方HTTPS配置即可轻松启用HTTPS.
由于gitlab使用rpm包进行安装,因此也就使用了gitlab-sheel进行备份。迁移以及还原步骤如下:
1:再次安装相同版本的gitlab
rpm -ivh gitlab-ce-8.7.5-ce.0.el7.x86_64.rpm
sudo gitlab-ctl reconfigure
2:将备份的tar包复制到/var/opt/gitlab/backups/ 目录下
cp 1479177181_gitlab_backup.tar /var/opt/gitlab/backups/
3:执行还原命令
# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 从14791771816编号备份中恢复,编号的含义是备份的时间戳
gitlab-rake gitlab:backup:restore BACKUP=1479177181
# 启动Gitlab
sudo gitlab-ctl start
注释:还原后用admin的账号以及密码登录即可
另一个管理员账号:admin 密码:123456
备份的命令如下:
/opt/gitlab/bin/gitlab-rake gitlab:backup:create
备份完成后会在/var/opt/gitlab/backups/生成一个带时间戳的tar包