Gitlab 备份迁移恢复报错gtar: .: Cannot mkdir: No such file or directory
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的更多相关文章
- node 报错 env: node\r: No such file or directory
最近在编写一个命令行工具.使用 npm link 时可以正常运行.但是 ctrl+s 保存后, 再运行则报错 env: node\r: No such file or directory ,需要再 n ...
- 使用nsenter进入docker容器后端报错 mesg: ttyname failed: No such file or directory
通过nsenter 进入到docker容器的后端总是报下面的错,, [root@devdtt ~]# docker inspect -f {{.State.Pid}} mynginx411950 [r ...
- 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 ...
- 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 ...
- 安装apr-1.6.3报错[cannot remove `libtoolT’: No such file or directory]解决方法
发现有这个提示:cannot remove `libtoolT’: No such file or directory , 编辑 configure文件,查找 $RM "$cfgfile&q ...
- 报错:Error: ENOENT, no such file or directory 'c:\Users\Administrator\WebstormProjects\blogtest\views\footer.ejs'
这是我在index上引用<%- include footer %>,找不到该文件 所以报错 建立文件footer.ejs
- Linux安装redis报错:jemalloc/jemalloc.h: No such file or directory踩坑
报错内容: 针对这个错误,我们可以在README.md 文件中看到解释: --------- Selecting a non-default memory allocator when buildin ...
- createNewFile() 报错 open failed: ENOENT (No such file or directory) 的解决方案
在写Android应用中使用createNewFile() 遇到open failed: ENOENT (No such file or directory) 错误,在网上查了许多方法,不过都不能解决 ...
- PHP连接MySQL的时候报错SQLSTATE[HY000] [2002] No such file or directory
错误环境:Mac OS 10.10 找到mysql.sock文件的位置 $sudo find / -name mysql.sock ------结果如下---------- find: /dev/fd ...
随机推荐
- hadoop 伪分布式搭建
下载hadoop1.0.4版本,和jdk1.6版本或更高版本:1. 安装JDK,安装目录大家可以自定义,下面是我的安装目录: /usr/jdk1.6.0_22 配置环境变量: [root@hadoop ...
- 剑指Offer_编程题_18
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ ...
- JAVA核心技术I---JAVA基础知识(集合set)
一:集合了解 (一)确定性,互异性,无序性 确定性:对任意对象都能判定其是否属于某一个集合 互异性:集合内每个元素都是无差异的,注意是内容差异 无序性:集合内的顺序无关 (二)集合接口HashSet, ...
- 163邮箱SMTP设置
如题要设置系统邮件自动发送 首先注册的网易邮箱要去开通SMTP服务,然后就是端口的设置 授权码 端口
- exp和imp导入导出时表空间问题【未完】
准备工作 第一步: 创建教师和学生用户 教师用户/密码 TEACHER/t123456 学生用户/密码 STUDENT/s123456 参考链接 http://www.cnblogs.com/what ...
- vue filter过滤器简单应用
vue中过滤器,用于一些常见的文本格式化,用 | 来操作. 过滤器可以用在两个地方: 1.在{{}}双花括号中插入值 2.v-bind表达式中使用 <!-- 在双花括号中 --> {{ m ...
- Django之名称空间
由于name没有作用域,Django在反解URL时,会在项目全局顺序搜索,当查找到第一个name指定URL时,立即返回. project/urls.py urlpatterns = [ path('a ...
- 3.1HashMap源码分析
在前篇博文中(HashMap原理及实现学习总结)详细总结了HashMap的原理及实现过程,这一篇是对HashMap的源码分析. package dataStructure.hash; import j ...
- SQL Server进阶(八)查询——开窗函数、四大排名函数、透视数据、逆透视数据
概述 ROW_NUMBER() OVER(PARTITION BY CustId ORDER BY ID DESC) https://www.jb51.net/article/75533.htm 开窗 ...
- SQL Server Management Studio 使用技巧
Ø 前言 本文主要介绍 SQL Server Management Studio 工具的使用,相信很多开发人员都比较熟悉此工具,特别是做 C# 开发的程序员,基本上都会经常使用该工具,当然也可以使用 ...