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
#输入相应的任务
02 * * * /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/basha="/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];thenecho"$date.tar 备份失败">>$logfileelif[$b -gt 0];thenecho" $date.tar 备份成功">>$logfilefimv$a/* $back/$date.tar
执行脚本后,会在/home/git_back下生成日志文件及备份的项目包
将脚本加入周期性计划执行
crontab -e
02 * * * /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 #还原上一次的修改,将暂存的修改加入到新的分支
##################################################################################
**
版权归原作者 知世玖是力量 所有, 如有侵权,请联系我们删除。