Gitlab 备份与恢复

备份

1、备份数据(手动备份)

复制代码
gitlab-rake gitlab:backup:create

2、备份数据(定时任务备份)

复制代码
[root@localhost ]# crontab -l
00 1 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
说明:每天凌晨1点备份数据
数据默认保存路径:/var/opt/gitlab/backups/

还原

1、还原数据

1.1、复制数据到新Gitlab默认备份目录

复制代码
cp 备份文件_gitlab_backup.tar /var/opt/gitlab/backups/

1.2、设置备份文件权限

复制代码
chown git.git 备份文件_gitlab_backup.tar

1.3、使用如下命令恢复数据

1.3.1、停止 Gitlab

复制代码
gitlab-ctl stop unicorn
gitlab-ctl stop sideki

1.3.2、还原数据

复制代码
[root@localhost ]# gitlab-rake gitlab:backup:restore BACKUP=1690391227_2023_07_27_12.3.4-ee
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   # 输入yes
Removing all tables. Press `Ctrl-C` within 5 seconds to abort
2023-07-27 16:07:36 +0800 -- Cleaning the database ... 
2023-07-27 16:07:46 +0800 -- done
2023-07-27 16:07:46 +0800 -- Restoring database ... 
Restoring PostgreSQL database gitlabhq_production ... SET

1.3.3、重启 Gitlab

复制代码
[root@localhost ]# gitlab-ctl restart
ok: run: alertmanager: (pid 19043) 0s
ok: run: gitaly: (pid 19067) 0s
ok: run: gitlab-exporter: (pid 19087) 1s
ok: run: gitlab-workhorse: (pid 19089) 0s
ok: run: grafana: (pid 19093) 0s
ok: run: logrotate: (pid 19120) 0s
ok: run: nginx: (pid 19133) 0s
ok: run: node-exporter: (pid 19289) 0s
ok: run: postgres-exporter: (pid 19300) 1s
ok: run: postgresql: (pid 19318) 0s
ok: run: prometheus: (pid 19320) 0s
ok: run: redis: (pid 19338) 0s
ok: run: redis-exporter: (pid 19343) 0s
ok: run: sidekiq: (pid 19358) 0s

1.4、打开web页面,查看数据是否正常

说明:输入账号密码,查看数据是否已恢复完成

相关推荐
代码不行的搬运工20 小时前
RFC6811:BGP前缀源验证
运维·服务器·bgp网络
月亮!1 天前
移动端测试重磅升级:跨平台自动化测试框架深度对比
运维·网络·人工智能·测试工具·容器·自动化·测试用例
凯子坚持 c1 天前
Docker 容器全生命周期管理与运维命令深度解析
运维·docker·php
java_logo1 天前
MILVUS Docker 容器化部署指南
运维·人工智能·docker·容器·prometheus·milvus
渡我白衣1 天前
计算机组成原理(1):计算机发展历程
java·运维·开发语言·网络·c++·笔记·硬件架构
_OP_CHEN1 天前
【Git原理与使用】(一)告别文件混乱!Git 初识:从版本灾难到高效管理的终极方案
linux·运维·git·github·运维开发·版本控制·企业级组件
装不满的克莱因瓶1 天前
【Java架构 搭建环境篇三】Linux安装Git详细教程
java·linux·运维·服务器·git·架构·centos
MC皮蛋侠客1 天前
Linux安装go及环境配置教程
linux·运维·golang
满天点点星辰1 天前
Linux命令大全-find命令
linux·运维·服务器
H_z_q24011 天前
RHCE的条件测试
linux·运维·服务器