博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker gitlab backup
阅读量:5252 次
发布时间:2019-06-14

本文共 2110 字,大约阅读时间需要 7 分钟。

说明:下面命令中带有<your container name>字,是 gitlab 容器的名称,请按实际情况进行代替

在创建备份之前,你不需要停止任何东西

docker exec -t 
gitlab-rake gitlab:backup:create

gitlab_backup.sh content:

#! /bin/bashcase "$1" in     start)        docker exec -t 
gitlab-rake gitlab:backup:create ;;esac

嘗試腳本是否可以正常運行

gitlab_backup.sh start

將腳本放入到 /root下,並使用 sudo crontab -e 添加一下內容

0 2 * * * /root/gitlab_backup.sh start

重啟cron服務

sudo service cron reloadsudo service cron restart

进入gitlab容器:

#来自Gitlab docker外的Ubuntu主机sudo docker exec -it 
/bin/bash

查看gitlab 本地的备份路径

gitlab_rails['backup_path'] 在 Gitlab 配置文件 gitlab.rb 是 注释的, 它的默认备份路径是在 /var/opt/gitlab/backups.

# 来自Gitlab Dockerroot@bcc3d4829e2c:/# cat /etc/gitlab/gitlab.rb | grep backup_path# gitlab_rails['manage_backup_path'] = true# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

创建一份备份

检测备份

# 来自Gitlab Dockerroot@bcc3d4829e2c:/etc/gitlab# ls -lart /var/opt/gitlab/backups

备份配置文件和 密钥文件

在上面创建备份时,没有备份 配置文件和密钥文件,这是因为上面一步是使用 ,如果你将他们保存相同的地方,你将会破坏加密过程。

所以请备份 /etc/gitlab/gitlab.rb/etc/gitlab/gitlab-secrets.json 并且将他们保存在一个其它Gitlab 备份数据的安全的地方

还原 Gitlab

你只能通过Gitlab 备份还原 一样的Gitlab版本和类型。并且你需要一个运行中的Gitlab实例。

停止一些 Gitlab 服务

# 来自Gitlab Dockergitlab-ctl reconfiguregitlab-ctl startgitlab-ctl stop unicorngitlab-ctl stop sidekiqgitlab-ctl statusls -lart /var/opt/gitlab/backups

开始还原

备份文件一定可以在 定义在 Gitlab 配置文件/etc/gitlab/gitlab.rbgitlab_rails['backup_path']的路径下找到

在 docker 外主机终端执行

#来自Gitlab docker外的Ubuntu主机docker exec -it 
gitlab-rake gitlab:backup:restore --trace

还原过程中会出现2次 Do you want to continue (yes/no)? 的询问操作,都输入yes之后,按Enter 回车键确认操作。

我们当然添加 BACKUP 参数来指定备份文件如果有多个备份文件在备份目录下,BACKUP参数的值是 备份文件的,比如: docker exec -it <your container name> gitlab-rake gitlab:backup:restore BACKUP=1563732042_2019_07_21_11.1.4 --trace

重启Gitlab并安全检查

使用gitlabctl restart命令重启Gitlab服务

# 来自Gitlab Dockergitlab-ctl restart

使用gitlab-rake gitlab:check SANITIZE=true命令来发起Gitlab安全检查

# 来自Gitlab Dockergitlab-rake gitlab:check SANITIZE=true

使用docker ps来验证 Gitlab 容器健康

#来自Gitlab docker外的Ubuntu主机sudo docker ps

參考

  1. 需要参考这个来写自己的尝试笔记

转载于:https://www.cnblogs.com/fsong/p/11337043.html

你可能感兴趣的文章
如何在vue单页应用中使用百度地图
查看>>
Springboot使用步骤
查看>>
Spring属性注入
查看>>
Springboot-配置文件
查看>>
Springboot-日志框架
查看>>
P1192-台阶问题
查看>>
一、使用pip安装Python包
查看>>
spring与quartz整合
查看>>
Kattis之旅——Eight Queens
查看>>
3.PHP 教程_PHP 语法
查看>>
Duilib扩展《01》— 双击、右键消息扩展
查看>>
利用Fiddler拦截接口请求并篡改数据
查看>>
python习题:unittest参数化-数据从文件或excel中读取
查看>>
在工程中要加入新的错误弹出方法
查看>>
PS 滤镜— — sparkle 效果
查看>>
网站产品设计
查看>>
代理ARP
查看>>
go 学习笔记(4) ---项目结构
查看>>
java中静态代码块的用法 static用法详解
查看>>
Java线程面试题
查看>>