# 备份后的文件一般是位于/var/opt/gitlab/backups下, 文件名如1461165090_gitlab_backup.tar
gitlab-rake gitlab:backup:create RAILS_ENV=production
可以利用scp进行直接拷贝.
scp username@src_ip:/var/opt/gitlab/backups/1532505664_2018_07_25_9.4.3_gitlab_backup.tar /var/opt/gitlab/backups/ #username为原服务器的用户名,src_ip原服务器IP地址
迁移之前先登录网站使其自动创建git对应文件
新服务器恢复数据
gitlab-rake gitlab:backup:restore RAILS_ENV=production BACKUP=1584616262_2020_03_19_11.2.3 # BACKUP的时间点必须与原服务器备份后的文件名一致
Restoring lfs objects ...
rake aborted!
Errno::EACCES: Permission denied @ rb_file_s_rename - (/mnt/storage/lfs-objects, /mnt/storage/lfs.1532511121)
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/files.rb:46:in `backup_existing_files_dir'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/files.rb:37:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:197:in `block (4 levels) in <top (required)>'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:61:in `block (3 levels) in <top (required)>'
/opt/gitlab/embedded/bin/bundle:22:in `load'
/opt/gitlab/embedded/bin/bundle:22:in `<main>'
Tasks: TOP => gitlab:backup:lfs:restore
(See full trace by running task with --trace)
Solution:
chown git:root /mnt/storage/
chmod 700 /mnt/storage/