gitlab数据备份

gitlab数据备份

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

# nginx配置文件
/var/opt/gitlab/nginx/conf 

# 邮件配置备份
/etc/postfix/main.cfpostfix 

2、更改Gitlab备份目录

也可以通过/etc/gitlab/gitlab.rb配置文件来修改默认存放备份文件的目录

修改为你想存放备份的目录即可

# 更改gitlab备份目录
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
## 输入相应的任务
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

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

## 查看周期性计划任务 crontab -l 修改时间进行验证 date -s 01:59:30

4、脚本执行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 #还原上一次的修改,将暂存的修改加入到新的分支
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇