生成完后,/var/opt/gitlab/backups目录创建一个名称类似为1502357536_2017_08_10_9.4.3_gitlab_backup.tar的压缩包
1.1 更改Gitlab备份目录
当然你也可以通过/etc/gitlab/gitlab.rb配置文件来修改默认存放备份文件的目录
gitlab_rails['backup_path'] = '/mnt/backups'
1
m h dom mon dow user command
1
其中:
#编辑 /etc/crontab
vi /etc/crontab
1
2
然后再编辑框内输入相应的任务
或者直接定时执行一个脚本 auto_backup.sh ,脚本内容为
sudo chmod +x auto_backup.sh
sudo vim auto_backup.sh
1
2
/etc/crontab 中添加执行脚本的定时任务,代码如下:
#也可以按照如下所示的方法,定时执行 auto_backup.sh脚本,脚本内容就填写: /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
0 2 * * * root /data/gitlabData/backups/auto_backup.sh -D 1
1
2
3
编写完 /etc/crontab 文件之后,需要重新启动cron服务
gitlab_rails['backup_keep_time'] = 604800
1
可以参考之前的博客:
git学习——>在CenterOS系统上安装GitLab并自定义域名访问GitLab管理页面
scp 用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2
1
[用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 .
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .
例如我使用如下命令,从远程服务器copy刚才的备份文件到了新服务器的/var/opt/gitlab/backups/ 目录下
2.1.3 从备份文件中恢复gitlab
1、将备份文件权限修改为777
第一步,将备份文件权限修改为777,不然可能恢复的时候会出现权限不够,不能解压的问题
chmod 777 1502357536_2017_08_10_9.4.3_gitlab_backup.tar
1
2、执行命令停止相关数据连接服务
第二步,执行命令停止相关数据连接服务
gitlab-rake gitlab:backup:restore BACKUP=1502357536_2017_08_10_9.4.3
1
敲完命令后,出现第一个交互页面,
Do you want to continue (yes/no)?
1
2
3
4
5
6
7
8
9
输入“yes”继续。
4、执行命令从备份文件中恢复Gitlab
第四步,启动Gitlab
3、打开迁移后的Gitlab,进行对比
老Gitlab服务器截图
对比,可以发现,除了两台服务器的ip地址不一样之外,其他的内容完全一模一样,迁移成功!
参考文档
Gitlab备份与恢复、迁移与升级
http://www.xuliangwei.com/xubusi/803.html
使用Gitlab一键安装包后的日常备份恢复与迁移
https://segmentfault.com/a/1190000002439923
http://www.cnblogs.com/shansongxian/p/6599144.html
http://blog.youkuaiyun.com/jenyzhang/article/details/53928438
http://www.cnblogs.com/junrong624/p/4239517.html
关于Cron表达式可以参考链接: