gitlab设置自动备份

目录

一、简介

二、具体配置过程

a、创建备份路径并且设置权限

b、执行gitlab-rake gitlab:backup:create命令

c、编辑gitlab配置文件,设置参数

d 启动定时任务,例如每天22点备份

e、脚本方式

 


一、简介


        GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建

起来的Web服务。安装方法是参考GitLab在GitHub上的Wiki页面。Gitlab是被广泛使用的基于git的

开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理,

Gitlab主要针对group和project两个维度进行代码和文档管理, 其中group是群组, project是工程项目,

一个group可以管理多个project, 可以理解为一个群组中有多项软件开发任务, 而一个project中可能

包含多个branch, 意为每个项目中有多个分支, 分支间相互独立, 不同分支可以进行归并。


二、具体配置过程

a、创建备份路径并且设置权限


mkdir -p /data/gitlab/backups

chown -R git.git /data/gitlab/backups

chmod -R 777 /data/gitlab/backups

b、执行gitlab-rake gitlab:backup:create命令

在backups目录下生成了备份rar文件,有的版本是gitlab-rake gitlab:backups:create

c、编辑gitlab配置文件,设置参数

#vim打开配置文件

vim /etc/gitlab/gitlab.rb

#按照自己的实际情况修改目录和时间

gitlab_rails['manage_backup_path'] = true

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

gitlab_rails['backup_archive_permissions'] = 0644

gitlab_rails['backup_keep_time'] = 1296000 #我这里设置的是15天

#重新加载配置文件,使修改生效

gitlab-ctl reconfigure

gitlab-ctl restart

d 启动定时任务,例如每天22点备份


vim /etc/crontab

#里面填写以下内容

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

#记得把crontab服务加入到开机启动项里面
systemctl restart crond

systemctl enable crond


        以下是crontab的配置的参数介绍,不懂的可以看下面的介绍,修改自己需要的时间,这里给

大家列出了,省去你们再额外搜索了。

gitlab设置自动备份_第1张图片

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

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

e、脚本方式

#!/bin/bash

backupdir=/home/backup/code

#获取最新的备份文件

newfile=`ls -tl | grep tar | head -n 1 |awk '{print $9}'`

#gitlab备份命令

gitlab-rake gitlab:backup:create


你可能感兴趣的:(gitlab,git,ubuntu,centos,linux)