gitlab 数据迁移全命令

11 篇文章 0 订阅
10 篇文章 0 订阅

之前写过gitlab 安装以及卸载,今天再来说说数据迁移备份。

查看 GitLab 版本号

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

在新的服务器上做迁移的准备:
停止相关数据连接服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

将备份好的文件存储到 /var/opt/gitlab/backups 目录下

修改备份文件权限

chmod 477 1597681929_2020_08_18_12.0.4_gitlab_backup.tar 

执行命令从备份文件中恢复Gitlab

gitlab-rake gitlab:backup:restore BACKUP=备份文件编号

备份文件的编号是1597681929_2020_08_18_12.0.4,因此执行下面的命令即可恢复gitlab

gitlab-rake gitlab:backup:restore BACKUP=1597681929_2020_08_18_12.0.4

执行命令后,出现第一个交互页面
在这里插入图片描述
在这里插入图片描述

启动git 就ok了!

# 启动gitlab
gitlab-ctl restart

一、手动备份

一个命令即可搞定。备份操作时不能关闭gitlab的服务。
docker 安装

docker exec -it [容器名] [指定目录]

docker exec -it gitlab /bin/bash

执行

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是备份创建的日期

/etc/gitlab/gitlab.rb 配置文件须备份

/var/opt/gitlab/nginx/conf nginx配置文件

/etc/postfix/main.cfpostfix 邮件配置备份

二、自动备份

1.创建备份脚本文件auto_backup.sh:

#! /bin/bash
docker exec gitlab gitlab-rake gitlab:backup:create

2./etc/crontab定时任务配置文件:

0 2 * * * root /data/gitlab/data/backups/auto_backup.sh 
 *  *  *  *  *  command
          命令

其中,
1列表示分钟,1~59,每分钟用*表示
2列表示小时,1~23,(0表示0点)
3列表示日期,1~31
4列表示月份,1~12
5列表示星期,0~60表示星期天)
第六列表示要运行的命令。

三、设置cron服务开机启动

/sbin/service crond start 服务启动
/sbin/service crond stop  服务停止
/sbin/service crond restart 服务重新启动
/sbin/service crond reload  服务重新加载配置

系统在root用户下,crontab -e 命令编辑设置定时任务。
cron服务是Linux的内置服务,但是其不会自动开机启动。
在/etc/rc.d/rc.local脚本中加入/sbin/service crond start 即可。

四、 GitLab自动备份
新建备份的sh文件:在/root 下新建gitlab_backup.sh ,

#! /bin/bash
case "$1" in 
    start)
            docker exec gitlab gitlab-rake gitlab:backup:create
            ;;
esac

新增定时任务:使用crontab -e 进入定时任务编辑界面,新增如下内容:

0 2 * * * /root/gitlab_backup.sh start

自动清理备份
1.创建备份脚本文件auto_delete.sh:

find /home/gitlab/data/backups/ -mtime +7 -type f -name "*.tar" -exec rm -rf {} \;

寻找并删除 /home/gitlab/data/backups/ 目录下内容修改时间(mtime)为7天以前的tar文件(-type f),并删除(rm -rf)

2./etc/crontab定时任务配置文件:

* 22 * * 6 root /home/gitlab/data/backups/auto_delete.sh
* 22 * * 6 每周六夜晚22

参考地址

这些都更改好后,记得修改服务器仓库链接:

* 查看现有的链接
git remote -v

* 新建新的链接
git remote set-url origin new_url

就是这个样子滴!
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值