按照官方安装文档安装完成之后的/home/git目录结构如下,这里我大致翻译官方的内容,部分加上自己的话,英语功力捉急,请见谅

|-- home 
| |-- git 
| |-- .ssh 
| |-- gitlab 
| |-- gitlab-satellites 
| |-- gitlab-shell 
| |-- repositories

* `/home/git/.ssh` - ssh设定的目录. gitlab-shell管理着其中的 `authorized_keys`. 
* `/home/git/gitlab` - GitLab核心部分 
* `/home/git/gitlab-satellites` - 可以视为临时目录,通过web ui的提交请求文件以及检出版本库都会存放在这个位置 
* `/home/git/gitlab-shell` - gitlab的核心插件组件. 包括ssh协议克隆和其他一些功能. 
* `/home/git/repositories` - 原始版本库的所有项目组织的名称空间,也就是所有仓库的存储位置,所以这个目录里的数据非常重要,注意备份 **这是项目的关键数据. Keep a backup**

*Note: gitlab-satellites 和 repositories的路径都被定义在gitlab中的 `config/gitlab.yml` 和 gitlab-shell.* 中的`config.yml`

创建为所有版本库的存档,就是备份啦. 存储路径在gitlab中的 `config/gitlab.yml` 
文件命名 `[TIMESTAMP]_gitlab_backup.tar`.

``` 
bundle exec rake gitlab:backup:create RAILS_ENV=production 
```

类似如下:

``` 
Dumping database tables: 
- Dumping table events... [DONE] 
- Dumping table issues... [DONE] 
- Dumping table keys... [DONE] 
- Dumping table merge_requests... [DONE] 
- Dumping table milestones... [DONE] 
- Dumping table namespaces... [DONE] 
- Dumping table notes... [DONE] 
- Dumping table projects... [DONE] 
- Dumping table protected_branches... [DONE] 
- Dumping table schema_migrations... [DONE] 
- Dumping table services... [DONE] 
- Dumping table snippets... [DONE] 
- Dumping table taggings... [DONE] 
- Dumping table tags... [DONE] 
- Dumping table users... [DONE] 
- Dumping table users_projects... [DONE] 
- Dumping table web_hooks... [DONE] 
- Dumping table wikis... [DONE] 
Dumping repositories: 
- Dumping repository abcd... [DONE] 
Creating backup archive: $TIMESTAMP_gitlab_backup.tar [DONE] 
Deleting tmp directories...[DONE] 
Deleting old backups... [SKIPPING] 
```

### 利用备份文件恢复

``` 
bundle exec rake gitlab:backup:restore RAILS_ENV=production 
```

选项:

``` 
BACKUP=timestamp_of_backup (required if more than one backup exists) 
```

类似这样:

``` 
Unpacking backup... [DONE] 
Restoring database tables: 
-- create_table("events", {:force=>true}) 
-> 0.2231s 
[...] 
- Loading fixture events...[DONE] 
- Loading fixture issues...[DONE] 
- Loading fixture keys...[SKIPPING] 
- Loading fixture merge_requests...[DONE] 
- Loading fixture milestones...[DONE] 
- Loading fixture namespaces...[DONE] 
- Loading fixture notes...[DONE] 
- Loading fixture projects...[DONE] 
- Loading fixture protected_branches...[SKIPPING] 
- Loading fixture schema_migrations...[DONE] 
- Loading fixture services...[SKIPPING] 
- Loading fixture snippets...[SKIPPING] 
- Loading fixture taggings...[SKIPPING] 
- Loading fixture tags...[SKIPPING] 
- Loading fixture users...[DONE] 
- Loading fixture users_projects...[DONE] 
- Loading fixture web_hooks...[SKIPPING] 
- Loading fixture wikis...[SKIPPING] 
Restoring repositories: 
- Restoring repository abcd... [DONE] 
Deleting tmp directories...[DONE] 
```

### 配置计划任务

``` 
cd /home/git/gitlab 
sudo -u git -H editor config/gitlab.yml # 开启多久自动备份的时间 
sudo -u git crontab -e # git用户的计划任务 
```

增加如下的条目:

``` 
# 每天凌晨2点进行一次全备份 
0 2 * * * cd /home/git/gitlab && PATH=/usr/local/bin:/usr/bin:/bin bundle exec rake gitlab:backup:create RAILS_ENV=production 
```

Gitlab日常备份和恢复的更多相关文章

  1. GitLab 数据备份和恢复

    GitLab 备份 /opt/gitlab/bin/gitlab-rake gitlab:backup:create //只是备份各项目的数据 完成后会在默认路径下多出来备份的tar包! /var/o ...

  2. Gitlab备份和恢复操作记录

    前面已经介绍了Gitlab环境部署记录,这里简单说下Gitlab的备份和恢复操作记录: 1)Gitlab的备份目录路径设置 [root@code-server ~]# vim /etc/gitlab/ ...

  3. 转载:Gitlab备份和恢复操作记录

    转载:Gitlab备份和恢复操作记录 包含了备份和数据恢复的操作记录,实验可行 前面已经介绍了Gitlab环境部署记录,这里简单说下Gitlab的备份和恢复操作记录: 1)Gitlab的备份目录路径设 ...

  4. Gitlab+Jenkins学习之路(四)之gitlab备份和恢复

    gitlab的备份和恢复 (1)创建备份目录,并授权 [root@linux-node1 ~]# mkdir /data/backups/gitlab -p [root@linux-node1 ~]# ...

  5. 使用Gitlab一键安装包后的日常备份恢复与迁移

    Gitlab 创建备份 使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份: gitlab-rake gitlab:ba ...

  6. gitlab备份和恢复

    备份 生产环境下,备份是必需的.需要备份的文件有:配置文件和数据文件. 备份配置文件 配置文件包含密码等敏感信息,不要和数据文件放在一起. sh -c 'umask 0077; tar -cf $(d ...

  7. gitlab备份、恢复、升级

    1.备份 gitlab的备份很简单,只要使用命令: gitlab-rake gitlab:backup:create 即可将当前的数据库.代码全部备份到/var/opt/gitlab/backups ...

  8. 【linux】【gitlab】gitlab安装、备份、恢复、升级、内存消耗问题

    前言 GitLab:GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务.功能:Gitlab 是一个提供代码托管.提交审核和问题跟踪的代码管理平 ...

  9. gitlab 备份和恢复

    前言 gitlab这个代码托管工具真是强大,很多东西都是做好了直接用的. 这里就包括备份和恢复功能. 正文 备份 我们可以直接运行此命令,来进行备份. sudo gitlab-rake gitlab: ...

随机推荐

  1. QTableView中使用Delegate方式来实现对特定列的文本进行换行

    问题:由于表格的一个列中,有个别文本过长,默认情况下,QTableView不支持对某列的文本换行,所以需要通过Delegate方式来实现这样的效果 头文件的Delegate #pragma once ...

  2. win32获取浏览器当前Tab的URL

    代码都是win10上测试的 1. 获取IE的URL,Enum IE窗口的子句柄,找到className为Edit的句柄,然后用SendMessage WM_GETTEXT消息来获取: 上代码: #in ...

  3. 推断Windows版本号新方法

    曾经在代码中推断用户的Windows操作系统版本号都是通过GetVersion或GetVersionEx获取版本号号,然后比較. 今天偶然发如今新的Visual Studio提供了新的函数来推断系统版 ...

  4. ios中NSObject分类

    #import <Foundation/Foundation.h> #define BUNDLE_PATH_IMAGENAME(c) [[NSBundle mainBundle] path ...

  5. suricata 命令行解释【转】

    suricata命令行 转载地址:http://blog.sina.com.cn/s/blog_6f8edcde0101gcha.html suricata命令行选项说明 你能两种方式使用命令行选项, ...

  6. sudo: add-apt-repository: command not found

    错误来啦:sudo: add-apt-repository:command not found      网上解决办法是直接安装工具包 命令:sudo apt-get install python-s ...

  7. Python学习笔记(十一)—— 函数式编程

    一.函数式编程理念 函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用.而允许使用变 ...

  8. System.net.mail 腾讯ssl发送邮件超时

    我采用了.net 的自带组件 System.Web.Mail.MailMessage发送邮件,主要是在客户注册网站成功的时候发条欢迎邮件,最近邮件无法发送了,看了下腾讯smtp邮件配置,所有的邮件发送 ...

  9. numpy 中的axis轴问题

    在numpy库中,axis轴的问题比较重要,不同的值会得到不同的结果,为了便于理解,特此将自己的理解进行梳理 为了梳理axis,借助于sum函数进行! a = np.arange(27).reshap ...

  10. 禁用gridview,listview回弹或下拉悬停

    不同的安卓厂商对ListView或ScrollView都做了一些动画效果,比如下拉时为了产生弹性美感而有大幅度回弹效果,再比如魅族的下拉悬停,有时做了一个下拉刷新的功能会与之冲突.其实该美化实为多此一 ...