注意新建备份目录是:/usr/local/src/repositories 属主和属组:
# ll -d repositories/ drwx------ 4 git root 4096 Feb 7 17:32 repositories/
修改配置文件:
vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
## Backup settings backup: #path: "/var/opt/gitlab/backups" # Relative paths are relative to Rails.root (default: tmp/backups/) path: "/usr/local/src/repositories" # Relative paths are relative to Rails.root (default: tmp/backups/)
有些linux系统是需要改此文件:/etc/gitlab/gitlab.rb
重启# gitlab-ctl restart
备份git:
# gitlab-rake gitlab:backup:create
恢复备份:
# gitlab-ctl stop unicorn # gitlab-ctl stop sidekiq # ls /usr/local/src/repositories/ 1484140459_gitlab_backup.tar # gitlab-rake gitlab:backup:restore BACKUP=1484140459 Unpacking backup ... #如果数据迁移的话一定要保持gitlab的版本是一至,不然会报错!!! # gitlab-ctl start
亲测:
# grep 'backup' -C 2 /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml ## Backup settings backup: path: "/var/opt/gitlab/backups" # Relative paths are relative to Rails.root (default: tmp/backups/) keep_time: # default: 0 (forever) (in seconds) #可以看到备份后的数据路径为:/var/opt/gitlab/backups [root@GitLab backups]# pwd /var/opt/gitlab/backups [root@GitLab backups]# ls [root@GitLab backups]# gitlab-rake gitlab:backup:create Dumping database ... Dumping PostgreSQL database gitlabhq_production ... [DONE] done Dumping repositories ... * root/document ... [DONE] * root/document.wiki ... [SKIPPED] * ok/hx-it-doc ... [DONE] * ok/hx-it-doc.wiki ... [SKIPPED] done Dumping uploads ... done Creating backup archive: 1486695836_gitlab_backup.tar ... done Deleting tmp directories ... done Deleting old backups ... skipping [root@GitLab backups]# ls 1486695836_gitlab_backup.tar 数据还原: 把数据1486695836_gitlab_backup.tar 放到/var/opt/gitlab/backups中 [root@GitLab src]# gitlab-ctl stop unicorn ok: down: unicorn: 1s, normally up [root@GitLab src]# gitlab-ctl stop sidekiq ok: down: sidekiq: 0s, normally up [root@GitLab backups]# pwd /var/opt/gitlab/backups [root@GitLab backups]# ls 1486695836_gitlab_backup.tar#注意这个文件的名子是在备份的时修生成的不能改变!!!! [root@GitLab backups]# gitlab-rake gitlab:backup:restore BACKUP=1486695836 #数据版号1486695836_gitlab_backup.tar 下现在为止git数据恢复完成!!