玥殇 发表于 2018-1-11 10:22:36

gitlab备份、还原及迁移

  安装gitlab可参考上篇博文:gitlab在centons环境下的安装及使用
  一、gitlab创建备份
  在终端中执行:gitlab-rake gitlab:backup:create 备份文件所在路径为:/var/opt/gitlab/backups/
  备份得到的文件格式如:1504860571_2017_09_08_9.5.3_gitlab_backup.tar   时间挫_年_月_日_gitlap版本_gitlab_backup.tar
  若需修改备份文件的存放路径:vim/etc/gitlab/gitlab.rb 修改# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"即可
  自动备份:可以借助于时间任务进行。
  具体实现:crontab -e
  37 10 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create--每天的10:37执行备份。
  自动清除备份文件
  vim /var/opt/gitlab/backups/remove.sh--创建备份脚本
  !/bin/bash
  find "/var/opt/gitlab/backups/" -name "*.tar" -ctime +30-exec rm -rf {} \;
  #删除30以前的备份文件
  chmod +x /var/opt/gitlab/backups/remove.sh
  contab -e
  45 10 * * * sh /var/opt/gitlab/backups/remove.sh   --每天的10:45执行删除备份的脚本
  二:gitlab还原
  停止相关数据连接服务
  gitlab-ctl stop unicorn
  gitlab-ctl stop sidekiq
  还原操作
  假设从1505097437_2017_09_11_9.5.3_gitlab_backup.tar备份文件中恢复
  在终端执行:gitlab-rake gitlab:backup:restore BACKUP=1505097437
  启动gitlab服务
  gitlab-ctl start
  注意:不能直接在终端执行gitlab-ctl stop停止所有服务。因gitlab删除和还原操作还需要使用到redis和postgresql连接
  三、gitlab迁移
  在新的服务器上搭建好gitlab环境但gitlab版本需跟原有版本一致。然后将原gitlab备份拷贝到新gitlab环境的对应位置,再执行还原过程即可。
  注意:cp的时候属主和属组会改变,导致权限不够,需要修改成git为所属者。
  在终端执行:chown git:git/var/opt/gitlab/backups/1505097437_2017_09_11_9.5.3_gitlab_backup.tar
页: [1]
查看完整版本: gitlab备份、还原及迁移