234cfds1 发表于 2018-1-11 11:10:43

gitlab服务备份与恢复

实战环境
  服务器版本:centos6.5
  gitlb版本:8.17.3

备份gitlab服务器数据
  使用如下命令即可创建Gitlab备份。
  

gitlab-rake gitlab:backup:create  

  可以看到数据备份成功:
  

  
Dumping database ...
  Dumping PostgreSQL database gitlabhq_production ...
  done
  Dumping repositories ...
  * hull/p2p-h5 ...
  * hull/p2p-h5.wiki ...
  done
  Dumping uploads ...
  done
  Dumping builds ...
  done
  Dumping artifacts ...
  done
  Dumping pages ...
  done
  Dumping lfs objects ...
  done
  Dumping container registry images ...

  Creating backup archive: 1492138093_2017_04_14_gitlab_backup.tar ... done
  Uploading backup archive to remote storage... skipped
  Deleting tmp directories ... done
  done
  done
  done
  done
  done
  done
  done
  Deleting old backups ... skipping
  

https://images2015.cnblogs.com/blog/1145243/201704/1145243-20170414105911955-355263157.png

备份gitlab成功  备份后在/var/opt/gitlab/backups目录下生成备份文件,类似是这样的 1466811825_gitlab_backup.tar 文件,其中1466811825是备份时的服务器时间戳。

定时备份gitlab数据
  使用linux服务器中的crontab就可以设置定时备份gitlab数据了,过程如下:

1、切换到root用户
  

su  

2、添加gitlab备份定时任务
  

#添加任务  
crontab -e
  

  
#每天5点备份gitlab数据
  
0 5 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
  

恢复gitlab数据
  恢复数据使用以下命令:
  

# 停止相关数据连接服务  
gitlab-ctl stop unicorn
  
gitlab-ctl stop sidekiq
  

  
# 从1393513186编号备份中恢复
  
gitlab-rake gitlab:backup:restore BACKUP=1466811825
  

  
# 启动
  
Gitlab sudo gitlab-ctl start
  

迁移gitlab数据
  迁移gitlab数据到新的服务器上流程和恢复差不多,和恢复不同的是你首先要在新服务器上安装同版本的gitlab,然后将备份数据,例如1466811825_gitlab_backup.tar 复制到新服务器的/var/opt/gitlab/backups目录下,然后执行恢复程序即可。
页: [1]
查看完整版本: gitlab服务备份与恢复