0
点赞
收藏
分享

微信扫一扫

Gitlab代码备份(Linux环境)

gitlab备份

通过gitlab-rake命令备份gitlab

gitlab-rake gitlab:backup:create

该命令会备份gitlab仓库、数据库、用户、用户组、用户密钥、权限等信息

默认备份后的文件存在/var/opt/gitlab/backups/目录下

如果要修改gitlab备份文件存储的路径的话,我们可以修改gitlab.rb文件

vim /etc/gitlab/gitlab.rb

gitlab_rails[‘backup_path’] = “/home/backup/code”

然后执行命令重载配置文件即可

gitlab-ctl reconfigure

保留部分备份文件

gitlab也提供了删除旧的备份文件功能

vim /etc/gitlab/gitlab.rb

gitlab_rails[‘backup_keep_time’] = 604800



gitlab仓库恢复

要验证gitlab备份的有效性,我们可以把该备份文件复制到已经安装好gitlab服务器的/var/opt/gitlab/backups/目录下。然后进行数据恢复,最后访问并查看其数据完整性即可

通过gitlab备份文件可以恢复gitlab所有的信息,包括仓库、数据库、用户、用户组、用户密钥、权限等信息。

注意:新服务器上的gitlab的版本号必须与创建备份时的gitlab版本号相同。

在gitlab服务器上停止相关数据连接服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq


恢复gitlab仓库

gitlab-rake gitlab:backup:restore BACKUP=files

启动gitlab服务

sudo gitlab-ctl start


定期备份,可以设置定时任务

定时任务,每月1日零点进行0 0 1 * * code_bak.sh

#!/bin/bash

backupdir=/home/backup/code

#获取最新的备份文件

newfile=`ls -tl | grep tar | head -n 1 |awk '{print $9}'`

#gitlab备份命令

/opt/gitlab/bin/gitlab-rake gitlab:backup:create

#复制备份文件到另一台机器

scp ${backupdir}/${newfile} root@192.168.3.100:${backupdir}


修改gitlab默认仓库路径

修改gitlab仓库存储目录

修改 /etc/gitlab/gitlab.rb 中的 git_data_dirs参数

在没有数据的情况下

gitlab-ctl stop   停止gitlab服务

gitlab-ctl reconfigure   使其修改配置生效


如果已经存在仓库数据,进行数据迁移

gitlab-ctl stop    停止gitlab服务

rsync -av /var/opt/gitlab/git-data/repositories  /home/gitlab/gitlab-data/ 数据迁移

gitlab-ctl reconfigure       使其修改配置生效

gitlab-ctl start             启动gitlab服务

仅供参考~~

举报

相关推荐

0 条评论