zoukankan      html  css  js  c++  java
  • gitlab备份和迁移

    一 迁移前提

    1 首先保证两个服务器的gitlab版本一致,

    sudo gitlab-rake gitlab:env:info   查看版本信息
    

    2 设置目录权限

    把目标机器里面的备份放到你的新机器上面的备份目录 默认是在/ var/opt/gitlab/backups 这个目录下,可以自己定义,默认备份的这个目录普通用户无查看权限,需要自己更改权限,默认一般是git用户

    二 备份

    要想迁移,前提是要先备份完整的gitlab数据
    备份时需要保持gitlab处于正常运行状态,直接执行gitlab-rake gitlab:backup:create进行备份

    使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1530156812_2018_06_28_10.8.4_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1530156812_2018_06_28_10.8.4是备份创建的日期

    2.1 修改备份文件目录

    可以通过/etc/gitlab/gitlab.rb配置文件来修改默认存放备份文件的目录
    
    gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
    
    修改完成之后使用gitlab-ctl reconfigure命令重载配置文件即可
    

    2.2 设置备份过期时间

    [root@gitlab ~]# vim /etc/gitlab/gitlab.rb
    
    gitlab_rails['backup_keep_time'] = 604800        #以秒为单位
    

    2.3 gitlab自动备份

    创建定时任务

    
    [root@gitlab ~]# crontab -e
    
    0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create 
    

    三 迁移过程

    首先要先拷贝备份好的数据到目标服务器所在的对应目录

    
    # 先关闭连接数据库的进程
    sudo gitlab-ctl stop unicorn
    sudo gitlab-ctl stop sidekiq
    
    #确认状态
    sudo gitlab-ctl status
    
    # 通过指定时间戳来执行restore操作,这个操作会复写gitlab的数据库
    
    sudo gitlab-rake gitlab:backup:restore BACKUP=1544701014_2018_12_13_10.3.3  # 后面的这个时间戳是你备份的名字
    #  注意:备份的时候,gitlab-rake后面的命令都不会自动补全,需要手写,恢复过程中需要按照提示输入两次yes并回车 
    
    
    # 再次启动gitlab
    sudo gitlab-ctl restart
    
    # 通过下面命令检查gitlab
    sudo gitlab-rake gitlab:check SANITIZE=true
    
    

    恢复过程如图:

    然后访问网页查看效果,如果提示502等一分钟再刷新一次

  • 相关阅读:
    Nginx调试入门
    Nginx自动安装脚本
    Centos7.3自动化脚本安装MySQL5.7
    复制多行内容到文本
    Windows常用命令
    C++笔试题
    loadrunner和QTP视频教程汇总
    mysql-connector-java-5.1.22下载
    struts学习笔记
    Hibernate原理
  • 原文地址:https://www.cnblogs.com/huningfei/p/12785366.html
Copyright © 2011-2022 走看看