gitlab备份、还原及迁移
安装gitlab可参考上篇博文:gitlab在centons环境下的安装及使用
一、gitlab创建备份
在终端中执行:gitlab-rake gitlab:backup:create 备份文件所在路径为:/var/opt/gitlab/backups/
备份得到的文件格式如:1504860571_2017_09_08_9.5.3_gitlab_backup.tar 时间挫_年_月_日_gitlap版本_gitlab_backup.tar
若需修改备份文件的存放路径:vim /etc/gitlab/gitlab.rb 修改# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"即可
自动备份:可以借助于时间任务进行。
具体实现:crontab -e
37 10 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create --每天的10:37执行备份。
自动清除备份文件
vim /var/opt/gitlab/backups/remove.sh --创建备份脚本
!/bin/bash
find "/var/opt/gitlab/backups/" -name "*.tar" -ctime +30 -exec rm -rf {} \;
#删除30以前的备份文件
chmod +x /var/opt/gitlab/backups/remove.sh
contab -e
45 10 * * * sh /var/opt/gitlab/backups/remove.sh --每天的10:45执行删除备份的脚本
二:gitlab还原
停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
还原操作
假设从1505097437_2017_09_11_9.5.3_gitlab_backup.tar备份文件中恢复
在终端执行:gitlab-rake gitlab:backup:restore BACKUP=1505097437
启动gitlab服务
gitlab-ctl start
注意:不能直接在终端执行gitlab-ctl stop停止所有服务。因gitlab删除和还原操作还需要使用到redis和postgresql连接
三、gitlab迁移
在新的服务器上搭建好gitlab环境但gitlab版本需跟原有版本一致。然后将原gitlab备份拷贝到新gitlab环境的对应位置,再执行还原过程即可。
注意:cp的时候属主和属组会改变,导致权限不够,需要修改成git为所属者。
在终端执行:chown git:git /var/opt/gitlab/backups/1505097437_2017_09_11_9.5.3_gitlab_backup.tar
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具