gitlab云盘定时自动备份,gitlab服务器迁移、还原恢复

本文介绍了如何通过gitlab-rake命令备份GitLab,并利用Mega云盘进行存储,确保数据安全。重点讲述了Mega云盘的安装、登录及文件同步。同时,详细说明了如何在Ubuntu系统中安装指定版本GitLab,以及如何恢复备份。最后,设置了定时任务自动备份和开机自启Mega,以实现持续的数据保护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:前言

防止gitlab服务器奔溃,或者被有心人恶意删除,所以采用云端备份的方式。即使服务器被删除,也可以在云端下载到新服务器,重新恢复。

2:备份gitlab

注:gitlab备份还原只能在相同版本中才能恢复,否则提示版本不成功。

命令:

gitlab-rake gitlab:backup:create

备份完成,可在 /var/opt/gitlab/backups/ 路径查看

sudo ls /var/opt/gitlab/backups/

3:安装mega云盘

mega地址:https://mega.io/start ,自行注册账号。

MEGA云盘是一款在线存储文件的云盘软件;MEGA云盘为用户提供50GB的免费存储空间,满足用户的存储需求,让用户可以向自己的文件备份在云盘中,不用担心丢失;MEGA云盘支持文件同步功能,将电脑的文件夹和云盘文件夹同步。

我选择mega三点原因:
1:支持linux版本,命令操作。
2:免费版本20G空间,作为备份数据已经足够。
3:加密,安全。(以前网易被脱裤,也是用的这个找回的裤子)

下载安装:
选择自己系统版本 https://mega.io/cmd
在这里插入图片描述
下载后,上传至或者放在自己服务的位置安装,如路径:/home/ubuntu/megacmd-xUbuntu_20.04_amd64.deb

sudo apt install /home/ubuntu/megacmd-xUbuntu_20.04_amd64.deb

安装完成,登录备份

sudo mega-login 账户名称 密码
#登录一次后,主要没退出,重启还是这个用户
sudo mega-sync 本地目录 mega远程目录
#执行这条后,以后自动实时同步,无需重复操作。

备份完成后,可在mega-ls 查看远程目录。

4:安装指定版本gitlab

注:gitlab备份还原只能在相同版本中才能恢复,否则提示版本不成功。
在这里插入图片描述

查看gitlab版本。

方法一:在gitlab登录界面点击help查看
(推荐此方法,因为可直观看见是ce版还是ee版)

如图所示,版本为gitlab-ce 14.5.2
在这里插入图片描述
在这里插入图片描述
方法二:在服务器命令查看

ubuntu@ubuntu:~$ cat  /opt/gitlab/embedded/service/gitlab-rails/VERSION 
14.5.2

查看安装指定版本:https://packages.gitlab.com/gitlab

选择自己的系统合适的版本,我的为ubuntu20.04,所以选择这个
在这里插入图片描述
点进去,按命令安装即可
在这里插入图片描述

5:还原gitlab

上传备份文件至 /var/opt/gitlab/backups/ 路径。

1)停止相关数据连接服务:

sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq
# Verify查看状态
sudo gitlab-ctl status

2)恢复数据

sudo gitlab-rake gitlab:backup:restore BACKUP=1645429916_2022_02_21_14.5.2

会提示你是否已关闭相关数据连接服务,确定后输入yes即可
在这里插入图片描述

3)重载配置,重启

完成后

sudo gitlab-ctl reconfigure
#重载配置
sudo gitlab-ctl restart
#重启数据库相关服务
sudo gitlab-rake gitlab:check SANITIZE=true
#检查配置

都没问题后,登录服务器ip地址。输入以前的账号密码,成功登录,恢复成功。

6:定时任务自动备份

1)定时任务

gitlab备份目录权限问题,直接切换至root用户操作。

crontab -e

添加以下任务

0 2 * * * find /var/opt/gitlab/backups/ -mtime +2 -name "*.tar" -delete && gitlab-rake gitlab:backup:create

删除两天前的备份文件,同时备份当前时间的文件。

其他无需设置,因为mega-sync命令后,会实时同步到mega云盘。

2)开机自启mega

centos:
直接操作如下即可:

sudo vim /etc/rc.local
#打开后增加一行:
mega-sync /var/opt/gitlab/backups/ /gitlab/
#保存推出,下次开机后就自动运行了,将/var/opt/gitlab/backups/文件同步到mega的gitlab文件夹。

ubuntu:

Ubuntu 16.04 版本开始去除了 rc.local 文件,自启动服务方面基本由 systemd 全面接管了。

在 Ubuntu 20.04 中这个文件存在。看起来只是把 rc.local 功能隐藏起来了。如果你的版本没有这个文件,可以自己创建一个,然后把内容添加上去。

sudo vim /lib/systemd/system/rc-local.service

添加以下内容

[Install]
WantedBy=multi-user.target
Alias=rc-local.service

创建 rc.local 文件

sudo vim /etc/rc.local

文件内容:

#!/bin/sh

mega-sync /var/opt/gitlab/backups/ /gitlab/
# 这里添加要开机执行的脚本和命令等等
	
exit 0

添加可执行权限

sudo chmod +x /etc/rc.local

创建软链接

sudo ln -s /lib/systemd/system/rc-local.service /etc/sysstemd/system/rc-local.service

重启系统 rc.local 就生效了。

注意事项:
不要在 rc.local 文件中添加阻塞或者死循环操作,会进不了系统的,试试就逝世。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值