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

posted @   帅气的搬砖工  阅读(4619)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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工具
点击右上角即可分享
微信分享提示