gitlab备份与恢复操作方法

github私有仓库是收费的,有些代码不方便托管到外面的git仓库,因此就产生了自己搭建git服务器的需求。

好在有广大的开源人士的贡献,有了gitlab这一神器。

手动配置较多,直接用集成包: bitnami-gitlab-6.4.3-1-linux-x64-installer.run

=============================

假定gitlab安装路径为: /opt/gitlab-6.4.3-1/

全程以root用户操作。
1.设定备份目录:
/opt/gitlab-6.4.3-1/apps/gitlab/htdocs/config/gitlab.yml

2.备份:

有些时候会报错: You have already activated rake 0.9.2.2,but our Gemfile requires rake 10.1.0,Using bundle exec may solve this.

原因是默认的path路径不对,需要执行下bitnami自带的环境变量设置脚本: use_gitlab 即可解决。

cd /opt/gitlab-6.4.3-1/
./use_gitlab
cd /opt/gitlab-6.4.3-1/apps/gitlab/htdocs
bundle exec bin/rake gitlab:backup:create RAILS_ENV=production

3.恢复:
BACKUP=timestamp_of_backup  #(required if more than one backup exists):

cd /opt/gitlab-6.4.3-1/
./use_gitlab
cd /opt/gitlab-6.4.3-1/apps/gitlab/htdocs
bundle exec bin/rake  gitlab:backup:restore RAILS_ENV=production   BACKUP=1405247282
chown git:git -R /opt/gitlab-6.4.3-1/apps/gitlab/repositories

4.crontab定时备份脚本参考:

use_gitlab使用了exec,脚本会重新打开一个进程,没有上下文,所以需要单独提出path.

脚本需要使用root账户运行。脚本包含了rsync远程同步到nas相应目录中,按照自己实际修改即可(预先生成ssh证书,免密码登录)。

#!/bin/bash

if [ `id -u` -ne 0 ];then
   echo "this backup script must be exec as root."
   exit
fi
date
PATH="/opt/gitlab-6.4.3-1/apps/gitlabci/gitlabci-runner/bin:/opt/gitlab-6.4.3-1/apps/gitlab/gitlab-shell/bin:/opt/gitlab-6.4.3-1/redis/bin:/opt/gitlab-6.4.3-1/sqlite/bin:/opt/gitlab-6.4.3-1/python/bin:/opt/gitlab-6.4.3-1/perl/bin:/opt/gitlab-6.4.3-1/git/bin:/opt/gitlab-6.4.3-1/ruby/bin:/opt/gitlab-6.4.3-1/mysql/bin:/opt/gitlab-6.4.3-1/apache2/bin:/opt/gitlab-6.4.3-1/common/bin:$PATH"

echo "backup gitlab to local storage begin.. "

cd /opt/gitlab-6.4.3-1/apps/gitlab/htdocs

bundle exec bin/rake gitlab:backup:create RAILS_ENV=production

echo "rsync  -avzP  --delete  /data/backups_gitlab [email protected]:/mnt/disk1/docs/rsync_gitlab_backup"
rsync  -avzP  --delete  /data/backups_gitlab  [email protected].com:/mnt/disk1/docs/rsync_gitlab_backup/

date
echo "this job is end."
时间: 2024-10-24 12:12:11

gitlab备份与恢复操作方法的相关文章

Git--07 Gitlab备份与恢复

目录 Gitlab备份与恢复 01). 备份 02). 恢复 Gitlab备份与恢复 ? 对gitlab进行备份将会创建一个包含所有库和附件的归档文件.对备份的恢复只能恢复到与备份时的gitlab相同的版本.将gitlab迁移到另一台服务器上的最佳方法就是通过备份和还原.? gitlab提供了一个简单的命令行来备份整个gitlab,并且能灵活的满足需求.? 备份文件将保存在配置文件中定义的backup_path中,文件名为TIMESTAMP_gitlab_backup.tar,TIMESTAMP

gitlab备份与恢复

gitlab备份与恢复 建议相同版本 gitlab安装的服务器,内存,存储一定要大 一.gitlab备份 使用命令 gitlab-rake gitlab:backup:create 该命令会备份gitlab仓库.数据库.用户.用户组.用户密钥.权限等信息.(恢复后的gitlab登录口令为备份的口令) 备份好的路径为/var/opt/gitlab/backups/ 二.gitlab 恢复 停止gitlab数据库连接 使用命令 gitlab-ctl stop unicorn gitlab-ctl s

gitlab 备份与恢复

版本环境: [[email protected] gitlab]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [[email protected] gitlab]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 8.15.4 一.数据备份 先打开/etc/gitlab/gitlab.rb配置文件,查看一个和备份相关的配置项: gitlab_rails['b

docker 部署的gitlab备份与恢复

gitlab的docker-compose文件 version: '3.5' services:gitlab:image: gitlab/gitlab-ce:11.7.5-ce.0 restart: always hostname: gitlab container_name: gitlab environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://192.168.10.10' gitlab_rails['gitlab_shell_ss

3、gitlab备份与恢复

1.备份 #修改配置文件,启用备份 [[email protected] ~]# vim /etc/gitlab/gitlab.rb 377 gitlab_rails['backup_path'] = "/data/gitlab/backups"  #备份路径 385 gitlab_rails['backup_keep_time'] = 604800    #保留7天 [[email protected] ~]# mkdir /data/backups/gitlab -p [[emai

gitlab 从古老的 bitnami 版本 迁移到官方最新版本

这是我之前发布在 yuque 的文章.是我刚来新公司的时候帮公司搬迁 git 记录下来的,现在看来去掉敏感部分直接发布也没啥问题啦,就搬家过来,我自己也方便查 XD . 8.1.6 -> 10.1.4 首先需要分几个步骤 第一步 我将老版本 这里是从 bitnami gitlab 上安装的 8.1.4 版本 将这个版本下的所有现在有的数据进行备份. 使用 找到/opt/gitlab-7.x.x-x/apps/gitlab/htdocs/config/gitlab.yml,将backup一项的路径

Gitlab数据迁移

迁移环境准备: Gitlab数据迁移需在同版本之间进行.因为不同版本的gitlab之间,数据库的库表结构与程序的实现方式是有差异的.若需从服务器A把gitlab的数据迁移至服务器B,则服务器B需部署与服务器A同样版本的gitlab方可. 迁移实现方式: 可以使用gitlab备份与恢复的命令,实现数据的迁移. 备份: bundle exec rake gitlab:backup:create RAILS_ENV=production 该备份命令会备份本地gitlab的所有项目的仓库以及mysql数

Docker下搭建gitlab

一.GitLab简介 GitLab 是一个用于仓库管理系统的开源项目.使用Git作为代码管理工具,并在此基础上搭建起来的web服务.Github是公共的git仓库,而Gitlab适合于搭建企业内部私有git仓库 官网: https://about.gitlab.com/ https://github.com/gitlabhq/gitlabhq 截止本文创建时间,GitLab最新版本为v7.4.3 二.组件 7.4.3之前版本,镜像里包含所有组件,7.4.3版本镜像里只包含核心组件:nginx.s

gitlab安装,使用,备份,恢复

gitlab安装,使用,备份,恢复 git是一个版本控制器在分布式版本控制系统里,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来. 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复.因为每一次的提取操作,实际上都是一次对代码仓库的完整备份. 1.gitlab介绍 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务,操作起来特别方便. 2.Gitlab安装与配置 2.1yum安装软件