gitlab备份与恢复

1、gitlab备份与恢复

参考:https://docs.gitlab.com/ce/raketasks/backup_restore.html

创建系统备份
sudo gitlab-rake gitlab:backup:create
备份文件存在/var/opt/gitlab/backups,可编辑/etc/gitlab/gitlab.rb修改
源码安装使用下面命令备份
sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
docker安装使用下面命令备份
docker exec -t <container name:gitlab> gitlab-rake gitlab:backup:create
将备份上传到远程存储(暂无)
将备份文件存储到本地
gitlab_rails['backup_upload_connection'] = {
  :provider => 'Local',
  :local_root => '/mnt/backups'
}

The directory inside the mounted folder to copy backups to Use ‘.’ to store them in the root directory gitlab_rails[‘backup_upload_remote_directory’] = ‘gitlab_backups’

备份档案权限

# In /etc/gitlab/gitlab.rb, for omnibus packages
gitlab_rails['backup_archive_permissions'] = 0644 # Makes the backup archives world-readable
备份配置文件
针对(Omnibus)备份:/etc/gitlab/gitlab.rb 、/etc/gitlab/gitlab-secrets.json
添加定时备份
每天凌晨两点备份
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
保留备份30天,单位秒
gitlab_rails['backup_keep_time'] = 2592000

2、Omnibus安装恢复

确认备份档案放到gitlab.rb定义的备份目录(默认/var/opt/gitlab/backups)
sudo cp 1504793137_2017_09_07_9.5.3_gitlab_backup.tar /var/opt/gitlab/backups/
停止连接数据库的进程
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
# Verify
sudo gitlab-ctl status
恢复备份档案,指定时间戳
sudo gitlab-rake gitlab:backup:restore BACKUP=1504793137_2017_09_07_9.5.3
> Unpacking backup ... tar: 1504796591_2017_09_07_9.5.3_gitlab_backup.tar: Cannot open: Permission denied
chmod git:git 1504796591_2017_09_07_9.5.3_gitlab_backup.tar
重启并检查恢复情况
sudo gitlab-ctl restart
sudo gitlab-rake gitlab:check SANITIZE=true

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏陈树义

MySQL用户管理:添加用户、授权、删除用户

添加用户 以root用户登录数据库,运行以下命令: create user zhangsan identified by 'zhangsan'; 上面的命令创...

3915
来自专栏有刻

Docker 小记 — Docker Engine

3899
来自专栏小夜博客

LinuxVPS自动每日备份

32112
来自专栏惨绿少年

企业级LNMP架构搭建实例(基于Centos6.x)

1.1 部署LNMP架构说明 1.1.1 LNMP架构内容   01.部署linux系统   02.部署nginx网站服务   03.部署mysql数据库服务 ...

2280
来自专栏Django Scrapy

mysql管理相关

查看数据库是否启动 ps -ef | grep mysqld 如果未启动 cd /usr/bin ./mysqld_safe & 想关闭mysql服务器...

3599
来自专栏魏艾斯博客www.vpsss.net

域名 DNS 中如何解析 A 记录

3395
来自专栏不想当开发的产品不是好测试

find命令小结

背景:由于机器上log日志比较多,所以想写个脚本定时清理日志 find  /apps/logs/log_receiver -mtime +7 -name "*[...

1835
来自专栏禅林阆苑

mysql学习总结01 — 配置运行

修改 /etc/mysql/my.cnf 文件中 bind-address,将 bind-address=127.0.0.1 修改为本机IP,重启mysql服务

1185
来自专栏康怀帅的专栏

Docker 网络

本文介绍 Docker 网络。 官方文档:https://docs.docker.com/engine/userguide/networking/ 网络类型 b...

3664
来自专栏云原生架构实践

JHipster生成微服务架构的应用栈(二)- 认证微服务示例

这里选择JHipster UAA server,这是一种基于OAuth认证机制的微服务。

1184

扫码关注云+社区