gitlab数据备份与恢复
一、备份数据
1)修改配置文件
- /etc/gitlab/gitlab.rb
# gitlab_rails['backup_path'] 备份保存的位置,这里是默认位置,可修改成指定的位置
# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_path'] = "/data/gitlab_backup/"
# (该配置可不处理)设置备份保存的时间,超过此时间的日志将会被新覆盖
gitlab_rails['backup_keep_time'] = 604800 # 这里是默认设置,保存7天,配置文件中默认为注释的
# 特别注意:
# 如果自定义了备份保存位置,则要修改备份目录的权限,比如:
chown -R git.git /data/gitlab_backup/
- 配置完成后要重启以使配置生效
# 重读配置文件
gitlab-ctl reconfigure
# 重启gitlab
gitlab-ctl restart
2)设置定时任务
crontab使用:https://www.cnblogs.com/linagcheng/p/15384800.html
# 每天凌晨2点定时创建备份
# 将一下内容写入到定时任务中 crontab -e
0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create
# 备份策略建议:
# 本地保留3到7天,在异地备份永久保存
3)备份时间的识别
# 备份后的文件类似这样的形式:1641278530_2022_01_04_10.7.5_gitlab_backup.tar,可以根据前面的时间戳确认备份生成的时间
date -d @1641278530
二、恢复数据
1)停止数据写入服务
# 停止数据写入服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
2)进行数据恢复并重启
# 进行恢复
gitlab-rake gitlab:backup:restore BACKUP=1641278530_2022_01_04_10.7.5 # 这个时间戳就是刚刚备份的文件前面的时间戳
# 重启
gitlab-ctl restart
博客内容仅供参考,部分参考他人优秀博文,仅供学习使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-01-04 MySQL与mongodb数据库备份与恢复
2020-01-04 Java(一)——Ubuntu18.04下Java环境配置
2019-01-04 Linux(二)—— Linux配置及指令
2019-01-04 Linux(一)—— Linux环境搭建