gitlab代码备份

gitlab备份

参考他人技术链接: https://www.ilanni.com/?p=13890

1、
通过gitlab-rake命令备份gitlab
--
gitlab-rake gitlab:backup:create

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

2、
默认备份后的文件存在/var/opt/gitlab/backups/目录下
如果要修改gitlab备份文件存储的路径的话,我们可以修改gitlab.rb文件

vim /etc/gitlab/gitlab.rb

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

然后执行命令重载配置文件即可
gitlab-ctl reconfigure

3、
保留部分备份文件

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=1522918586_2018_04_05_10.6.2

启动gitlab服务
sudo gitlab-ctl start

自己编写的小脚本

定时任务,每月15日零点进行
0 0 15 * * 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} [email protected]:${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服务

你可能感兴趣的:(总结学习-运维技能,linux,服务器,运维)