1. 完整的 Gitlab 备份:
gitlab-rake gitlab:
backup
:
create
使用以上命令会在
/var/opt/gitlab/backups
目录下创建一个名称类似为
1393513186_gitlab_backup.tar
的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的
1393513186
是备份创建的日期.
2.
Gitlab 修改备份文件默认目录
通过修改
/etc/gitlab/gitlab.rb 来修改默认存放备份文件的目录:
gitlab_rails['backup_path'] = '/home/user/backups '
/home/user/backups 修改为你想存放备份的目录,
修改完成之后使用
gitlab-ctl reconfigure 命令重载配置文件即可.
3. Gitlab 自动备份(默认备份方法)
也可以通过
crontab
使用备份命令实现自动备份:
sudo su -crontab -e
加入以下, 实现每天凌晨2点进行一次自动备份:
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
3.
Gitlab 自动备份(脚本备份方法)
从
https://github.com/sund/auto-gitlab-backup下载
auto-gitlab-backup-master.zip
把
auto-gitlab-backup-master.zip 文件放到备份目录,并解压,把
auto-gitlab-backup.conf.sample复制成
auto-gitlab-backup.conf
通过
crontab使用备份命令实现自动备份:
sudo su
crontab -e
加入以下, 实现每天凌晨3点进行一次自动备份:
0 3 * * * /home/user/backups/auto-gitlab-backup-master/auto-gitlab-backup.sh
4. Gitlab 恢复
同样, Gitlab的从备份恢复也非常简单:
# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 从
1491469575_2017_04_06编号备份中恢复
gitlab-rake gitlab:backup:restore BACKUP=1491469575_2017_04_06
# 启动Gitlab
sudo gitlab-ctl start
Gitlab迁移
迁移如同备份与恢复的步骤一样, 只需要将老服务器
/var/opt/gitlab/backups
目录下的备份文件拷贝到新服务器上的
/var/opt/gitlab/backups
即可(如果你没修改过默认备份目录的话). 但是需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同. 比如新服务器安装的是最新的7.60版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab 升级为7.60在进行备份.