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} 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服务