git学习------> Gitlab如何进行备份恢复与迁移?
/var/opt/gitlab/backups修改为你想存放备份的目录即可,例如下面代码将备份路径修改为/mnt/backups
在crontab文件里面,每一行代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,每个字段之间用空格分割,没用的段用*代替,格式如下:
dom:表示日期,可以是从1到31之间的任何整数。 mon:表示月份,可以是从1到12之间的任何整数。 dow:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。 user : 表示执行的用户。 command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件(如shell文件)。
实现每天凌晨2点进行一次自动备份:通过crontab使用备份命令实现,需重启cron服务
方法1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
#输入相应的任务 0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
方法2、直接编辑/etc/crontab 文件,即vi /etc/crontab,然后添加相应的任务
# edited by ouyang 2017-8-11 添加定时任务,每天凌晨两点,执行gitlab备份 0 2 * * * root /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
或者直接定时执行一个脚本 auto_backup.sh ,脚本内容为
#也可以按照如下所示的方法,定时执行 auto_backup.sh脚本,脚本内容就填写: /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1 0 2 * * * root /data/gitlabData/backups/auto_backup.sh -D 1
编写完 /etc/crontab 文件之后,需要重新启动cron服务
root@ubuntu4146:~# sudo /usr/sbin/service cron reload root@ubuntu4146:~# sudo /usr/sbin/service cron restart cron stop/waiting cron start/running, process 17738
关于Cron表达式可以参考链接:
设置只保存最近7天的备份,编辑 /etc/gitlab/gitlab.rb 配置文件,找到gitlab_rails[‘backup_keep_time’],设置为你想要设置的值,然后保存。
第一步,新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同. 比如新服务器安装的是最新的9.4.3版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab 升级为9.4.3再进行备份.
可以参考之前的博客:
git学习—— 在CenterOS系统上安装GitLab并自定义域名访问GitLab管理页面
第二步,如果你没修改过默认备份目录的话,需要将老服务器上的备份文件目录(/var/opt/gitlab/backups目录)下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups目录。
使用scp命令从远程服务器copy文件或者目录到本地
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .
-C 使能压缩选项 .
-P 选择端口 . 注意 -p 已经被 rcp 使用 .
-4 强行使用 IPV4 地址 .
-6 强行使用 IPV6 地址 .
例如我使用如下命令,从远程服务器copy刚才的备份文件到了新服务器的/var/opt/gitlab/backups/ 目录下
scp root@172.28.17.155:/var/opt/gitlab/backups/1502357536_2017_08_10_9.4.3_gitlab_backup.tar /var/opt/gitlab/backups/
copy完后,查看copy的文件如下
第一步,将备份文件权限修改为777,不然可能恢复的时候会出现权限不够,不能解压的问题
例如我们的备份文件的编号是1502357536_2017_08_10_9.4.3,因此执行下面的命令即可恢复gitlab
root@ubuntu4146:/var/opt/gitlab/backups# gitlab-rake gitlab:backup:restore BACKUP=1502357536_2017_08_10_9.4.3 Unpacking backup ... done Before restoring the database we recommend removing 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”继续。
恢复过程中。。。。。
出现第二个交互页面,
作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:http://blog.csdn.net/ouyang_peng/article/details/76220621
如果本文对您有所帮助,欢迎您扫码下图所示的支付宝和微信支付二维码对本文进行打赏。
git,github,gitlab,码云的区别 码云https://gitee.com/enterprises?from=tg-6-7是开源中国社区推出的基于git的代码托管服务平台,基于gitlab。目前招商银行,中国科学技术大学,CSDN等多家企业和机构都在使用码云平台
Gitlab上手指南(八)|企业中常见的git规范介绍和husky+commitlint集成 俗话说,没有规矩不成方圆,我们的git也需要规范。 下面介绍一下企业常用的一些规范。 分支管理规范 分支命名不能千奇百怪,必须有统一的命名方式。主要有以下几种: 分支管理 命名规范 解释 master
Gitlab上手指南(四)|从gitlab上clone项目的两种正确姿势以及常用的git可视化工具介绍 上一节我们已经创建了一个项目,本节课我就把这个项目clone到本地,然后实操一下常用git命令 git clone clone的方式有下面两种,一种是SSH,一种是HTTPS,两种克隆方式的主要区别在
字节卷动 You will never know how excellent you are unless you impel yourself once.
相关文章
- [svc]sed&awk过滤行及sed常用例子
- Mongodb---基本操作、文档增删改查、排序&分页、聚合查询、优化索引、权限机制、备份还原、mongoose
- [Scikit-learn] 2.5 Dimensionality reduction - Probabilistic PCA & Factor Analysis
- WebX Q&A
- GreenPlum 大数据平台--备份-邮件配置-gpcrondump & gpdbrestore(五)
- 13【C语言 & 趣味算法】分糖果 问题。(数组名作为函数形参,亦即:形参数组名作 指针变量)
- lca讲解 && 例题 HDU - 4547
- 8个 CSS & JavaScript 实现的照片库(相册)特效
- RK3288 添加WiFi&BT模块AP6212
- 用户&角色
- "undefined reference to" 问题解决方法
- UVALive 6858——分类讨论&&水题
- Git学习-->如何通过Shell脚本实现 监控Gitlab备份整个过程并且通过邮件通知得到备份结果?
- 我的Android进阶之旅------>四种呼叫转移场景
- 我的Android进阶之旅------>Ubuntu下不能识别Android设备的解决方法