Gitlab是你的代码仓库,所以对它的备份和恢复很重要,Gitlba本身提供了备份恢复的工具以供使用。

1. 执行gitlab数据备份

默认备份文件储存在/var/opt/gitlab/backups/140623891_gitlab_backup.tar

1
sudo gitlab-rake gitlab:backup:create

2. gitlab从备份中还原

1
2
3
4
5
6
sudo cp 140623891_gitlab_backup.tar  /var/opt/gitlab/backups/
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
sudo gitlab-rake gitlab:backup:restore BACKUP=140623891 -- 备份文件名的时间戳前缀
sudo gitlab-ctl start
sudo gitlab-rake gitlab:check SANITIZE=true

3. 配置定时任务 需重启cron服务

1
2
sudo crontab -e
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

4. 设置只保存最近7天的备份

编辑/etc/gitlab/gitlab.rb配置文件,找到如下代码,删除注释#后保存

1
gitlab_rails['backup_keep_time'] = 604800

5. 重新加载gitlab配置文件

1
sudo gitlab-ctl reconfigure