美文网首页
Gitlab管理与备份恢复

Gitlab管理与备份恢复

作者: 阿当运维 | 来源:发表于2021-04-14 11:10 被阅读0次

    gitlab常用管理命令


    image.png

    Gitlab备份与恢复

    • 手动备份
      备份数据:
    gitlab-rake gitlab:backup:create
    

    备份配置文件:

    gitlab-ctl backup-etc
    
    • 自动备份
      crontab -l
    * * * * * docker exec -it  gitlab (容器名)  gitlab-rake gitlab:backup:create
    * * * * * docker exec -it  gitlab (容器名)  gitlab-rake gitlab-ctl backup-etc
    

    默认备份文件在/var/opt/gitlab/backups
    想要修改备份路径打开 /etc/gitlab/gitlab.rd
    找到“# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" 取消注释,并修改,最后重启容器或者gitlab重载。

    • 自动清理
      找到gitlab配置文件
     gitlab_rails['manage_backup_path'] = true
     gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
     gitlab_rails['backup_keep_time'] = 604800
    

    打开这三项注释。 backup_keep_time 默认单位是秒。 意思是多少天以前的归档备份都会被清理。
    最后重载配置。

    恢复gitlab(模拟docker容器挂掉)

    1.准备新环境
    注意:git恢复数据需要新老gitlab 版本一致。如果是docker安装的版本,在部署新系统也要拉取之前gitlab指定版本,不能再用最新了。如(docker pull gitlab/gitlab-ce:13.10.2-ce.0)

    docker rm -f  gitlab
    mv /opt/gitlab /opt/gitlab.bak
    #启动一个新容器
    mkdir /opt/gitlab
    docker run -d  -p 443:443 -p 85:80 -p 2222:22 --name gitlab --restart always \
     -v /opt/gitlab/config:/etc/gitlab \
     -v /opt/gitlab/logs:/var/log/gitlab \
     -v  /opt/gitlab/data:/var/opt/gitlab    gitlab/gitlab-ce
    

    输入地址,可看到是gitlab上一个全新的项目,无内容。

    2.拷贝备份文件
    #宿主机上,切到docker之前持久化数据目录下

    cd /opt
    cp gitlab.bak/data/backups/1618306241_2021_04_13_13.10.2_gitlab_backup.tar
    gitlab/data/backups/
    

    3.停止写库服务
    #进到gitlab容器里

    chown -R git.git /var/opt/gitlab/backups
     gitlab-ctl stop unicorn
     gitlab-ctl stop puma
     gitlab-ctl stop sidekiq
    

    4.恢复数据

    gitlab-rake gitlab:backup:restore BACKUP=1618306241_2021_04_13_13.10.2
    

    5.恢复配置文件
    #宿主机操作(将以前gitlab备份的配置文件拷贝到新的里)

    cd /opt
    cp  gitlab.bak/config/config_backup/gitlab_config_1618306549_2021_04_13.tar  /opt/gitlab/config/
    cd  /opt/gitlab/config/    #新容器持久化目录对应容器内 /etc/gitlab
    tar xvf gitlab_config_1618306549_2021_04_13.tar
    

    #容器操作

    cd /etc/gitlab
    cp -rf etc/gitlab/*  /etc/gitlab/  #备份配置文件解压后,会再次出现一个etc文件夹,里面是旧配置备份,考到新的下面即可
    

    重载配置

    gitlab-ctl reconfigure
    

    等待。。。。输入地址,恢复如初。


    image.png

    备份建议:每周备份一次持久化目录/opt/gitlab到备份服务器,这样docker在启动容器都可以直接用拉起这些数据

    相关文章

      网友评论

          本文标题:Gitlab管理与备份恢复

          本文链接:https://www.haomeiwen.com/subject/arzqlltx.html