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/shmega-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 文件中添加阻塞或者死循环操作,会进不了系统的,试试就逝世。

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

  1. 宝塔环境使用微软OneDrive云盘免费自动备份网站数据最佳方案!

    目前宝塔内用插件自动备份网站数据免费的方案有 微软OneDrive:注册就有5.5GB永久空间(通过下面邀请链接注册有5.5GB,直接官网注册是5GB)免费版邀请好友可以扩容到15.5GB,用来备份网 ...

  2. 云服务器实现Ms Sqlserver数据库定时自动备份并存至指定存储空间

    适用于windows系统(本次测试环境为windows2012+sqlserver2012)可实现对mssql数据库定时自动备份,同进还可以自动发送备份至指定的FTP空间,Email,局域网空间等.点 ...

  3. ftp服务器 自动备份,FtpCopy数据定时自动备份软件(FTP定时备份)

    1. 软件说明 FtpCopy是一款免费的FTP数据自动备份软件,如果FtpCopy对您有较大的帮助,欢迎捐赠我们,我们对您表示衷心的感谢! 如果有需求的话会一直更新下去,将软件做到极致! 有问题可直 ...

  4. 服务器2016自动备份怎么取消,wps中ppt的制作怎样取消掉定时自动备份

    wps中ppt的制作怎样取消掉定时自动备份以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! wps中ppt的制作怎样取消掉 ...

  5. 企业级数据文件定时自动备份的方法

    如果你是一名公司老板或者管理者,是否经常为文件资料备份而烦恼?公司的日常经营活动中会产生很多的文件数据,这些文件数据对公司来说都是非常重要的,一旦丢失会造成难以预估的损失.如果你只将公司文件保存到电脑 ...

  6. 使用SQL Server维护计划实现数据库定时自动备份

    在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库.要实现数据库的定 ...

  7. 交换机定时自动备份配置文件的方法

    如果一个管理员平时只管理个位数的交换机,而且也不需要经常修改配置,那可以使用手工方式定期保存配置文件,因为一旦设备故障,可以及时导入备份配置恢复网络. <br/> 但如果网络里有很多交换机 ...

  8. SQL Server 数据库定时自动备份

    在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库.要实现数据库的定 ...

  9. cisco 交换机 定期 自动 备份配置 -linux,交换机定时自动备份配置文件的方法

    如果一个管理员平时只管理个位数的交换机,而且也不需要经常修改配置,那可以使用手工方式定期保存配置文件,因为一旦设备故障,可以及时导入备份配置恢复网络. 但如果网络里有很多交换机,又要经常修改配置,那让 ...

最新文章

  1. Microsoft Platform SDK Febrary 2003更新vc6的SDK网址
  2. linux wc命令参数及用法详解
  3. 实战SSM_O2O商铺_45【Redis缓存】配置Redis在Service层加入缓存
  4. javascript中的console.log有什么作用?
  5. python字符串单个替换_如何用变量替换列表中的单个字符串?
  6. linux shell命令分布执行,Linux学习笔记:bash特性之多命令执行,shell脚本
  7. 云原生演进趋势下传统数据库升级实践
  8. about quartus, FPGA and verilog 琐记
  9. 全流分析取证:高级威胁哪里跑?!
  10. 太惨了,今年没年终奖了!
  11. L1-048 矩阵A乘以B (15 分)—团体程序设计天梯赛
  12. 透视特洛伊木马程序开发技术
  13. live555作为RTSP客户端对接大华的某款球机RTSP流时不能预览问题的解决方案
  14. 《系统集成项目管理工程师》必背知识点
  15. 南丁格尔玫瑰图的Python
  16. Java的Modifier
  17. dts无损音乐什么意思_QQ音乐,网易云,AppleMusic谁的音质好?
  18. “强监管”突袭,AI能否带领催收行业走向“良性”循环?
  19. 为了对n个设备使用总线的请求进行裁决_持久化(1):I/O设备
  20. 通过命令创建vue项目

热门文章

  1. python观察者模式
  2. 长寿命激光在线测径仪 关键看细节
  3. 关于计算机信息管理的ppt,计算机信息管理系PPT大赛
  4. 香农采样定理及其证明
  5. 校园二手书商城源代码基于微信小程序云开发,可在线支付提现,含详细配置教程
  6. 称重管理系统地磅称重系统原来管理地磅这么简单?
  7. Vegas的基本操作教程
  8. sfc 修复 xp rpc服务器,指定的错误代码是?0x000006ba?[RPC?服务器不可用。]
  9. windows强行删除文件/文件夹
  10. 连续忙碌了好一阵,太想出去透透气了,最近有假想去湖南玩玩,不知道有哪些好玩的景点?有哪些旅游线路推荐?~在线等哦