gitlab备份与还原
备份 还原 gitlab
2023-06-13 09:12:43 时间
由于gitlab中存放的都是开发人员的工作成果,所以为了保证数据安全,我们会定期对数据进行备份,对gitlab进行备份将会创建一个包含所有库和附件的归档文件。对备份的恢复只能恢复到与备份时的gitlab相同的版本。将gitlab迁移到另一台服务器上的最佳方法就是通过备份和还原。gitlab提供了一个简单的命令行来备份整个gitlab ,并且能灵活的满足需求。
一、备份
备份路径:
备份文件将保存在配置文件中定义的backup_path中 ,文件名为TIMESTAMP_gitlab_backup.tar,TIMESTAMP为备份时的时间戳。TIMESTAMP的格式为 :EPOCH_YYYY_MM_DD_Gitlab‐version。
备份配置:
[root@zutuanxue git_data]# vim /etc/gitlab/gitlab.rb
gitlab_rails['backup_path'] = "/opt/backups"
#备份路径
gitlab_rails['backup_keep_time'] = 604800
#备份周期-秒(7x24x3600)
[root@zutuanxue git_data]# gitlab-ctl reconfigure
手动备份:
[root@zutuanxue git_data]# gitlab-backup create
或者
[root@zutuanxue git_data]# gitlab-rake gitlab:backup:create
[root@zutuanxue git_data]# ls /opt/backups/
定时备份:
在定时任务里添加:
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
或
0 2 * * * /opt/gitlab/bin/gitlab-backup create
二、还原操作
只能还原到与备份文件相同的gitlab版本。执行恢复操作时,需要gitlab处于运行状态,备份文件位于gitlab_rails[‘backup_path’]。需要先停掉两个服务,停止连接到数据库的进程(也就是停止数据写入服务,如果是空主机,没有任何操作的话,可以不停止服务,停止相应服务的目的是为了保证数据移植),但是保持GitLab是运行的。
在web中删除项目
[root@zutuanxue backups]# gitlab-ctl stop unicorn
[root@zutuanxue backups]# gitlab-ctl stop sidekiq
指定时间戳你要从那个备份恢复:
[root@zutuanxue git_data]# cd /opt/backups/
[root@zutuanxue backups]# gitlab-ctl stop unicorn
ok: down: unicorn: 0s, normally up
[root@zutuanxue backups]# gitlab-ctl stop sidekiq
ok: down: sidekiq: 1s, normally up
[root@zutuanxue backups]# gitlab-rake gitlab:backup:restore BACKUP=1586328114_2020_04_08_12.9.2
(有的版本执行gitlab-rake gitlab:backup:restore BACKUP=1586328114即可)
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
#提示移除所有存在的表
.
.
.
This task will now rebuild the authorized_keys file.
You will lose any data stored in the authorized_keys file.
Do you want to continue (yes/no)? yes
#提示移除所有验证秘钥
[root@zutuanxue backups]# gitlab-ctl restart#重启gitlab
注意:也可使用gitlab-rake gitlab:check SANITIZE=true验证下gitlab服务
浏览器重新打开gitlab页面,重新登录后查看到被还原的项目内容
相关文章
- mysql数据库备份和还原的命令_Mysql数据库备份和还原常用的命令
- ★Navicat For Mysql 数据库备份与还原
- Oracle数据库备份与还原
- ghost备份还原系统步骤_win10如何备份完整系统
- 地热施工备份
- 使用 Velero 备份还原 Kubernetes 集群资源
- 一文教你SQL Server2012的数据库备份和还原的教程
- mongoDB数据库备份恢复 之 mongodb 4.2.8备份恢复与导出导入
- SQLServer 错误 3169 该数据库是在运行版本 %ls 的服务器上备份的。 该版本与此服务器(运行版本 %ls)不兼容。 请在支持该备份的服务器上还原该数据库,或者使用与此服务器兼容的备份。 故障 处理 修复 支持远程
- Sqlserver事务备份和还原的实例代码(必看)
- 键备份Oracle字段一键备份:一步搞定(oracle字段加一)
- MySQL如何备份与恢复数据(mysql如何备份和还原)
- 深入探索:如何使用Oracle备份数据(oracle怎么备份数据)
- 备份MySQL:恢复历史上的数据备份(mysql历史数据)
- 优化Oracle备份方案,实现更好的适应性(oracle备份方案)
- 备份定时网页备份:Linux解决方案(linux定时网页)
- Oracle非归档模式:数据库备份与恢复的最佳实践(oracle非归档)
- MySQL备份与恢复:保障数据安全(mysql备份与还原)
- 备份Oracle介质备份技术保障数据安全(oracle 介质)
- MySQL数据库每日定时备份策略(mysql 每日备份)
- Oracle全系统备份技术指南(oracle全备份方法)
- bat脚本操作MySQL数据库备份失败(bat备份MySQL失败)
- MySQL云备份轻松一键备份还原数据(mysql一键备份还原)
- 虚拟主机MySQL数据库的备份与还原的方法
- PHP备份/还原MySQL数据库的代码
- mysqlndb集群备份数据库和还原数据库的方法
- 如何备份恢复IIS?详细备份恢复IIS的步骤
- MySQL定时备份之使用Linux下的crontab定时备份实例