zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

gitlab人备份与恢复

备份 恢复 gitlab
2023-09-14 09:00:10 时间

 

注意新建备份目录是:/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数据恢复完成!!