gitlab服务备份与恢复
实战环境
服务器版本:centos6.5
gitlb版本:8.17.3
备份gitlab服务器数据
使用如下命令即可创建Gitlab备份。
gitlab-rake gitlab:backup:create
可以看到数据备份成功:
Dumping database ...
Dumping PostgreSQL database gitlabhq_production ... [DONE]
done
Dumping repositories ...
* hull/p2p-h5 ... [DONE]
* hull/p2p-h5.wiki ... [SKIPPED]
done
Dumping uploads ...
done
Dumping builds ...
done
Dumping artifacts ...
done
Dumping pages ...
done
Dumping lfs objects ...
done
Dumping container registry images ...
[DISABLED]
Creating backup archive: 1492138093_2017_04_14_gitlab_backup.tar ... done
Uploading backup archive to remote storage ... skipped
Deleting tmp directories ... done
done
done
done
done
done
done
done
Deleting old backups ... skipping
备份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目录下,然后执行恢复程序即可。