Gitlab 数据备份

文章详细介绍了如何在Gitlab中创建手动和自动备份,包括通过gitlab-rake命令创建备份文件,修改配置文件gitlab.rb来更改备份路径,设置保留时间和权限,以及利用crontab实现每天凌晨的自动备份。此外,还提供了一个shell脚本来监控备份过程并生成日志。
摘要由CSDN通过智能技术生成

1、Gitlab 创建备份
1.1、手动备份
创建备份文件
使用一条命令即可创建完整的Gitlab备份。
gitlab-rake gitlab:backup:create
使用命令会在/var/opt/gitlab/backups目录下创建一个压缩包,这个压缩包就是Gitlab整个的完整部分。
[root@server ~]# gitlab-rake gitlab:backup:create
在这里插入图片描述
生成完后,/var/opt/gitlab/backups目录下创建一个名称类似为*.tar的包
在这里插入图片描述

*扩展知识
/etc/gitlab/gitlab.rb 配置文件须备份
/var/opt/gitlab/nginx/conf nginx配置文件
/etc/postfix/main.cfpostfix 邮件配置备份

2、更改Gitlab备份目录
也可以通过/etc/gitlab/gitlab.rb配置文件来修改默认存放备份文件的目录
修改为你想存放备份的目录即可

gitlab_rails[‘backup_path’] = “/home/gitlab-backup”

#指定备份后数据存放的路径、权限、时间配置
gitlab_rails[‘manage_backup_path’] = true 开启备份功能
gitlab_rails[‘backup_path’] = “/home/gitlab-backup” 指定备份的路径
gitlab_rails[‘backup_archive_permissions’] = 0644 备份文件的权限
gitlab_rails[‘backup_keep_time’] = 7776000 备份保留时间
在这里插入图片描述
修改完后重新加载配置文件.

gitlab-ctl reconfigure
在这里插入图片描述
创建备份目录并授权

chown -R git:git gitlab-backup
在这里插入图片描述
使用命令创建完整的Gitlab备份
gitlab-rake gitlab:backup:create
在这里插入图片描述
这个压缩包就是gitlab 的整个完整部分
在这里插入图片描述
3、Gitlab自动备份
实现每天凌晨2点进行一次自动备份:通过crontab使用备份命令实现,需重启cron服务
方法一、输入: crontab -e 然后添加相应的任务
#输入命令crontab -e
crontab -e
#输入相应的任务

0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

注意:环境变量CRON=1的作用是如果没有任何错误发生时, 抑制备份脚本的所有进度输出

#查看周期性计划任务
crontab -l
在这里插入图片描述
修改时间进行验证
date -s 01:59:30

在这里插入图片描述

2、脚本执行gitlab 备份
[root@server home]# cat gitlan.sh

#!/bin/bash
a="/home/gitlab-backup"
back="/home/git_back"
date="$(date +%Y-%m-%d)"
logfile=$back/$date.log
gitlab-rake gitlab:backup:create > /dev/null
b=`ls $a |wc -l`
if [ $b -eq 0 ];then
echo "$date.tar 备份失败" >> $logfile
elif [ $b -gt 0 ];then
echo " $date.tar 备份成功" >> $logfile
fi
mv  $a/*   $back/$date.tar

执行脚本后,会在/home/git_back下生成日志文件及备份的项目包
在这里插入图片描述

将脚本加入周期性计划执行

crontab -e  
0 2 * * *   /home/gitlab.sh

测试
在这里插入图片描述

**

##################################################################################
*Git知识扩展
git status     #上次提交后是否对文件再做了修改项目
git add .         #添加所有的变动
git checkout -b 文件夹名称         #创建本地分支并切换分支 git checkout -b pr/ffr
git commit -m “描述”             #提交修改 git commit -m “修改什么”
git merge origin/develop “本地分支”         #合并origin/develop上别人所做的修改到自己的本地分支 git merge origin/develop pr/ffr
git push origin “本地分支” #推送本地分支到远程,并建立联系 git push origin pr/ffr
git rebase -i 编号 #合并多次提交,将前几次的提交合并为一次
git checkout 分支名 #切换分支 git checkout pr/FFR-color git cherckout develop
git pull #更新当前分支的状态
git branch #列出本地分支
git branch -a #列出本地分支与远程分支
git branch -D 分支名 #删除分支(目前仅用于删除本地分支)
git remote -v #可以查看远程仓库信息
git branch 分支名 #仅仅创建 一个新分支,并不会自动切换到新分支中去
git rebase --abort #退出git rebase
git reset 提交编号 #git rebase -i 提交编号,之后出现错误,可以回退到之前未合并时的日志状态
git commit --amend -m “描述” #修改上一次的提交的描述
git stash #暂存上一次的修改,准备切换到其他的分支
git stash pop #还原上一次的修改,将暂存的修改加入到新的分支
##################################################################################

**

  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知世玖是力量

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值