Gitlab备份和恢复操作
参考:https://www.cnblogs.com/kevingrace/p/7821529.html
一,设置开启备份以及备份路径
/etc/gitlab/gitlab.rb
1 2 3 4 | gitlab_rails[ 'manage_backup_path' ] = true #开启备份 gitlab_rails[ 'backup_path' ] = "/data/gitlab/backups" #设置备份路径 gitlab_rails[ 'backup_archive_permissions' ] = 0644 #备份文件的权限 gitlab_rails[ 'backup_keep_time' ] = 604800 #备份保留天数这里单位是秒是7天 |
2024-06-20补充开始
备份的源主机和目标主机需要设置相同的备份路径权限等配置
2024-06-20补充结束
创建备份路径并且设置权限
1 2 3 | mkdir - p / data / gitlab / backups chown - R git.git / data / gitlab / backups chmod - R 777 / data / gitlab / backups |
设置生效
1 | gitlab - ctl reconfigure |
二,手动使用命令备份
1 | gitlab - rake gitlab:backup:create |
执行完毕可以在备份路径下面看到备份文件
设置脚步定时备份
gitlab_backup.sh
1 2 | #!/bin/bash / usr / bin / gitlab - rake gitlab:backup:create CRON = 1 |
PS:环境变量CRON=1的作用是如果没有任何错误发生时, 抑制备份脚本的所有进度输出
crontab -e
1 | 0 0 , 6 , 12 , 18 * * * / bin / bash - x / data / gitlab / backups / gitlab_backup.sh > / dev / null 2 >& 1 |
三,恢复操作
停止数据库连接
1 2 | gitlab - ctl stop unicorn gitlab - ctl stop sidekiq |
查看状态
1 | gitlab - ctl status |
恢复(遇到需要输入则输入yes)
恢复之前可以删除一个测试库比如test然后在恢复以后看是否恢复
1 | gitlab - rake gitlab:backup:restore backup = 1525801521_gitlab_backup .tar |
2024-06-20补充开始
如果该备份目录有多个备份文件则删除多余备份文件只保留最新备份文件否则恢复时报错
2024-06-20补充结束
再次启动gitlab
1 | gitlab - ctl start |
PS:另外:Gitlab迁移与恢复一样,但是要求两个GitLab版本号一致
分类:
Gitlab&Git
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!