当前位置: 首页 > news >正文

linux上gitlab备份与还原

三 Gitlab备份

1.gitlab安装

1.1 添加镜像地址

添加镜像地址的目的是为了提高国内用户软件下载的速度,编辑(新建)文件gitlab-ce.repo,指令:

vi /etc/yum.repos.d/gitlab-ce.repo

复制

输入:

[gitlab-ce]
name=gitlab-ce
# 清华大学的镜像源
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
1.2 安装依赖

依次输入以下指令

# 安装和配置openssh
sudo yum install curl policycoreutils-python openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
# 安装和配置邮件服务
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
1.3 安装gitlab指定版本14.0.0
curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.0.0-ce.0.el7.x86_64.rpm

在这里插入图片描述

在这里插入图片描述

安装:

rpm -i gitlab-ce-14.0.0-ce.0.el7.x86_64.rpm

警告:gitlab-ce-14.0.0-ce.0.el7.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID f27eab47: NOKEY

在这里插入图片描述

1.4 配置gitlab
sudo gitlab-ctl reconfigure

在这里插入图片描述

1.5 更改GitLab端口,

编辑文件gitlab.rb:

vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.20.247:8091' nginx['listen_port'] = 8091 nginx['listen_https'] = false

更改nigx端口,编辑文件gitlab-http.conf:

vim /var/opt/gitlab/nginx/conf/gitlab-http.confserver {
listen *:8091;
server_name 47.110.230.147;
...
if ($http_host = "") {set $http_host_with_default "47.110.230.147:8091";
}
}

在这里插入图片描述

在这里插入图片描述

保存修改,执行以下指令:

gitlab-ctl reconfigure
1.6 启动并访问

启动GitLab:

gitlab-ctl restart#停止gitlab
gitlab-ctl stop

在这里插入图片描述

对应端口放行

sudo firewall-cmd --permanent --zone=public --add-port=8091/tcp sudo firewall-cmd --reload

查看默认的账号密码

vi /etc/gitlab/initial_root_password

在这里插入图片描述

2.gitlab备份还原

  • 特别注意:

· 备份目录和gitlab.rb中定义的备份目录必须一致

· GitLab的版本和备份文件中的版本必须一致,否则还原时会报错。

在这里插入图片描述

执行下备份命令

gitlab-rake gitlab:backup:restore BACKUP=/var/opt/gitlab/backups/1676883915_2023_02_20_14.0.0

注意:后面文件名称不用加_gitlab_backup.tar

在这里插入图片描述

在这里插入图片描述

中途输入两次yes

备份完后,可以看出已经还原成功

在这里插入图片描述

3.备份策略(每天23:30都进行备份作业)

  • 修改备份的路径和备份的策略

    输入配置修改对应的路径

    vim /etc/gitlab/gitlab.rb
    
    gitlab_rails['manage_backup_path'] = true
    #备份的路径
    gitlab_rails['backup_path'] = "/home/gitlab/backups"
    #生成的备份文件权限
    gitlab_rails['backup_archive_permissions'] = 0644
    #保留文件7天
    gitlab_rails['backup_keep_time'] = 604800

    保存并退出

  • 更改完成后重载配置文件

gitlab-ctl reconfigure

执行备份命令

gitlab-backup create

可以看到我们备份已经成功了

在这里插入图片描述

设置脚本

touch gitlab.shchmod 777 gitlab.sh
vi gitlab.sh

#输出一下内容

#!/bin/bash     
echo '开始执行gitlab备份'
gitlab-backup create
echo 'gitlab备份结束'DATE=`date +%Y%m%d`            #定义时间的格式,注意需要反引号。       
REMOTEDIR=/home/backups/gitlab #远程本地服务器地址路径localData=/var/opt/gitlab/backups   #本机数据地址路径
echo "开始进行gitlab数据迁移到本地服务器"
expect << EOF
set timeout -1
spawn scp -P 85-r $localData  root@112.94.31.288:$REMOTEDIR/$DATE
expect eof
exit
EOF
echo "数据gitlab迁移到本地服务器结束"
crontab -e

输入备份的时间(每天23:30都进行备份作业)

30 23 * * * /home/backups/gitlab/gitlab.sh > /tmp/gitlab.log 2>&1
crontab -l

本地服务器也要设置时间脚本

touch date.sh

脚本内容

#!/bin/bash     
echo '开始新建目录'
DATE=`date +%Y%m%d`            #定义时间的格式,注意需要反引号。
DIR=/home/backups/gitlab      #这里定义创建文件夹的地址。
mkdir  -p  $DIR/$DATE          #创建文件夹的语句,把上面两个变量引用进来。
echo '新建目录完成'

打开定时任务

crontab -e

输入备份时间

29 23 * * *  /home/backups/gitlab/date.sh > /tmp/gitlab.log 2>&1
crontab -l
http://www.lryc.cn/news/171883.html

相关文章:

  • 【精华】具身智能:人工智能的下一个浪潮
  • 【线性回归、岭回归、Lasso回归分别预测患者糖尿病病情】数据挖掘实验一
  • 037:vue项目监听页面变化,动态设置iframe元素高度
  • 探索前端生成二维码技术:简单实用的实现方式
  • python装13的一些写法
  • 黑马JVM总结(十八)
  • Android调用相机拍照,展示拍摄的图片
  • 企业如何找媒体发稿能收录且不被拒稿,媒介盒子无偿分享
  • 利用cms主题构造木马(CVE-2022-26965)
  • 【MTK】【WFD】手机投屏到投影仪不显示画面
  • 多输入多输出 | MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向量机多输入多输出
  • scrapyd-完整细节
  • 【iOS逆向与安全】插件开发之某音App直播间自动发666
  • AI Studio星河社区生产力实践:基于文心一言快速搭建知识库问答
  • http1和http2的主要区别
  • 一文了解水雨情在线监测站的优势
  • windows11中安装curl
  • 小谈设计模式(5)—开放封闭原则
  • 计算机视觉与深度学习-全连接神经网络-训练过程-欠拟合、过拟合和Dropout- [北邮鲁鹏]
  • SwiftUI Swift iOS iPadOS 实现更改 App 图标
  • Java————List
  • uniapp 触底加载
  • 大模型赛道如何实现华丽的弯道超车
  • CAN总线物理层
  • 中兴面试-Java开发
  • 浅谈 React 与 Vue 更新机制的差异
  • Delft3D水动力与泥沙运动模拟实践技术应用
  • Linux 本地Yearning SQL 审核平台远程访问
  • Redis集群(Cluster)
  • Scapy 解析 pcap 文件从HTTP流量中提取图片