1. 版本信息

OS: centos 6.9
Gitlab: gitlab-ce.10.7.4 gitlab-ce.10.8.0 gitlab-ce.10.8.3 gitlab-ce.10.8.4

2. 数据备份

 https://segmentfault.com/a/1190000014729115
参考以上url 即可完成数据备份。

3. Gitlab数据还原

 https://segmentfault.com/a/1190000014729115
参考以上url 即可完成数据备份还原。

4.Gitlab数据还原失败

原因:gitlab版本restore存在bug,目录权限问题导致还原失败。
issue:https://gitlab.com/gitlab-org/gitlab-ce/issues/46891 first:
#scp 1528963129_2018_06_14_10.8.4_gitlab_backup.tar 192.168.99.115:`pwd`
#chown git.git /var/opt/gitlab/backups/*.tar
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore **错误提示:**
[DONE]
done
Restoring uploads ...
tar: .: Cannot mkdir: No such file or directory
tar: Exiting with failure status due to previous errors
Backup failed 各位看官,看到该提示是不是超蛋疼,大脑飘过十万个草泥马!别急,能解决的,咱可以手动;

5. Gitlab的备份过程

Dumping database ...
Dumping PostgreSQL database gitlab hq_production ... [DONE]
done
Dumping repositories ...
* arch/k-calc ... [DONE]
* arch/sms ... [DONE]
*
done
Dumping uploads ...
done
Dumping builds ...
done
Dumping artifacts ...
done
Dumping pages ...
done
Dumping lfs objects ...
done
Dumping container registry images ...
[DISABLED]
Creating backup archive: 1528963129_2018_06_14_10.8.4_gitlab_backup.tar
... done
Uploading backup archive to remote storage ... skipped
Deleting tmp directories ... done
done
done
done
done 其实就是使用tar打包过程,db 和 repositories 除外!! 各位看官,说到这里是不是想起来点什么,继续往下看哦 !!!

6.数据还原过程

Unpacking backup ... done
Before restoring the database, we will remove all existing
tables to avoid future upgrade problems. Be aware that if you have
custom tables in the GitLab database these tables and all data will be
removed. Do you want to continue (yes/no)? yes
Removing all tables. Press `Ctrl-C` within 5 seconds to abort
Cleaning the database ...
done
Restoring database ...
Restoring PostgreSQL database gitlabhq_production ... SET
SET
SET
set_config
GRANT
[DONE]
done
Restoring repositories ...
* arch/k-calc ... [DONE]
* arch/sms ... [DONE]
Put GitLab hooks in repositories dirs [DONE]
done
Restoring uploads ...
....

7.解决数据还原

 
#cd /var/opt/gitlab/backups
#ls
1528963129_2018_06_14_10.8.4_gitlab_backup.tar backup_information.yml db
pages.tar.gz tmp artifacts.tar.gz builds.tar.gz lfs.tar.gz repositories
uploads.tar.gz restore handy:
#tar xf uploads.tar.gz -C /var/opt/gitlab/gitlab-rails/uploads
#tar xf builds.tar.gz -C /var/opt/gitlab/gitlab-ci/builds
#tar xf pages.tar.gz -C /var/opt/gitlab/gitlab-rails/shared/pages
#tar xf artifacts.tar.gz -C /var/opt/gitlab/gitlab-rails/shared/artifacts
***************************以下是我自己搭建的gitlab(版本号:11.6.5)上遇到问题*********************************

但是检查以上4个目录,和原版本没有区别,已经恢复成功了,但是报错(难道这又是官方bug),既然已经成功恢复了,那就先不管了 看到这里是不是欣喜若狂,毕竟Gitlab是基础服务,程序员的结晶之地啊!!! 注意: db、repositories 的数据已经还原,了解本质过程很重要的,万物皆有相克!!! 如果数据还原没有提到的,请自行脑补啊,不在多做累述!!! #以下命令对还原数据可靠性检测
#gitlab-ctl reconfigure
#gitlab-ctl restart
#gitlab-rake gitlab:check SANITIZE=true

Gitlab 备份迁移恢复报错gtar: .: Cannot mkdir: No such file or directory的更多相关文章

  1. node 报错 env: node\r: No such file or directory

    最近在编写一个命令行工具.使用 npm link 时可以正常运行.但是 ctrl+s 保存后, 再运行则报错 env: node\r: No such file or directory ,需要再 n ...

  2. 使用nsenter进入docker容器后端报错 mesg: ttyname failed: No such file or directory

    通过nsenter 进入到docker容器的后端总是报下面的错,, [root@devdtt ~]# docker inspect -f {{.State.Pid}} mynginx411950 [r ...

  3. laravel 报错SQLSTATE[HY000] [2002] No such file or directory

    在mac中执行php artisan migrate时报错 SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from i ...

  4. Linux 格式化分区 报错Could not stat --- No such file or directory 和 partprobe 命令

    分区的过程正常: [root@db1 /]# fdisk -l   Disk /dev/sda: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/tr ...

  5. 安装apr-1.6.3报错[cannot remove `libtoolT’: No such file or directory]解决方法

    发现有这个提示:cannot remove `libtoolT’: No such file or directory , 编辑 configure文件,查找 $RM "$cfgfile&q ...

  6. 报错:Error: ENOENT, no such file or directory 'c:\Users\Administrator\WebstormProjects\blogtest\views\footer.ejs'

    这是我在index上引用<%- include footer %>,找不到该文件 所以报错 建立文件footer.ejs

  7. Linux安装redis报错:jemalloc/jemalloc.h: No such file or directory踩坑

    报错内容: 针对这个错误,我们可以在README.md 文件中看到解释: --------- Selecting a non-default memory allocator when buildin ...

  8. createNewFile() 报错 open failed: ENOENT (No such file or directory) 的解决方案

    在写Android应用中使用createNewFile() 遇到open failed: ENOENT (No such file or directory) 错误,在网上查了许多方法,不过都不能解决 ...

  9. PHP连接MySQL的时候报错SQLSTATE[HY000] [2002] No such file or directory

    错误环境:Mac OS 10.10 找到mysql.sock文件的位置 $sudo find / -name mysql.sock ------结果如下---------- find: /dev/fd ...

随机推荐

  1. JSON的简单使用_向前台发送JSON数据

    转自:http://www.cnblogs.com/digdeep/p/5574366.html 1.前台页面 <%@ page language="java" conten ...

  2. PL/SQL Developer

    下载 一.Oracle 客户端(两种) 1.免安装轻量版(以这个为例) https://www.oracle.com/technetwork/database/database-technologie ...

  3. cmd快速设置本机ip和dns【转】

    . 参考: https://wenku.baidu.com/view/74c59947336c1eb91a375dbe.html 家里配置如下 尾部的1不要忘了 netsh interface ip ...

  4. xml实体注入学习

    好久没学习技术了  很多东西都忘了  复习一下 测试代码 <?php $xml = file_get_contents("php://input"); $data = sim ...

  5. 自学python 4.

    1.li = ["alex","tom","mike","god","merffy"](1)a = ...

  6. [Android] Android 去掉界面标题栏的方法

    Android 去掉界面标题栏的方法 这个首先要区分当前Activity 是继承了 Activity 类 ,还是 AppCompatActivity 类 情况一:创建的activity默认继承了App ...

  7. C#窗口编程时TextBox中的换行

    注意Windows下的换行符是\r\n.只使用\n是无法完成换行的

  8. C++ vector和list的主要用法区别

    vector可以直接通过下标访问,list不可以 1.vector ; i < userTypes.size(); i++) { str = userTypes[i].typeName; } 2 ...

  9. IDEA导入JUnit4

    Step 1. IDEA最上面一栏的菜单栏中,选File->Project Structure(从上往下第11个),弹出窗口左边有一个列表,选Module. Step 2. 右侧有一个带3个标签 ...

  10. WebSocket 快速开始

    [Html5客户端API] 1.创建websocket对象 var connection =  new WebSocket('ws[s]://www.example.com/chat',可选自己实现的 ...