GitLab配置crontab定时自动备份_Nginx_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • Nginx

    当前位置:主页 > 服务器教程 > Nginx >

    GitLab配置crontab定时自动备份

    时间:2019-07-21|栏目:Nginx|点击:
  • 1:GitLab备份非常简单,只需要一条命令就可以创建完整的备份

    gitlab-rake gitlab:backup:create

    使用以上命令,就相当于在/var/opt/gitlab/backups/文件夹下创建了一个类似于1542596619_2018_11_19_9.2.1_gitlab_backup.tar的压缩文件,这个压缩包就是Gitlab所有的完整文件,1542596619_2018_11_19是备份的日期9.2.1是Gitlab的版本,如果你要从Gitlab迁移至Gitlab,请注意迁移的版本和目前的版本是否一致。

    GitLab配置crontab定时自动备份

    创建完成后,在/var/opt/gitlab/backups/已经创建好备份文件了

    2:更改GitLab备份目录

    当然,你可以通过/etc/gitlab/gitlab.rb来修改备份的目录

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

    修改成

    gitlab_rails['backup_path'] = "/disk/gitlab/backup"

    GitLab配置crontab定时自动备份

    修改完成之后,使用下面的命令可以重新加载配置文件

    gitlab-ctl reconfigure

    3:GitLab自动定时备份

    在crontab文件里面,每一行代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,每个字段之间用空格分割,没用的段用*代替,格式如下:

    m h dom mon dow user command

    其中:

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

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

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

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

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

    user : 表示执行的用户。

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

    实现每天凌晨2点进行一次自动备份:通过crontab使用备份命令实现,需重启cron服务
    方法1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。

    #输入命令crontab -e sudo crontab -e #输入相应的任务 0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

    方法2、直接编辑/etc/crontab 文件,即vi /etc/crontab,然后添加相应的任务

    #编辑 /etc/crontab vi /etc/crontab

    然后再编辑框内输入相应的任务

    # edited by ouyang 2017-8-11 添加定时任务,每天凌晨两点,执行gitlab备份 0 2 * * * root /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

    或者直接定时执行一个脚本 auto_backup.sh ,脚本内容为

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

    然后再 /etc/crontab中,添加相关任务定时执行 auto_backup.sh 脚本文件

    sudo chmod +x auto_backup.sh sudo vim auto_backup.sh

    /etc/crontab 中添加执行脚本的定时任务,代码如下:

    #也可以按照如下所示的方法,定时执行 auto_backup.sh脚本,脚本内容就填写: /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1 0 2 * * * root /data/gitlabData/backups/auto_backup.sh -D 1

    编写完 /etc/crontab 文件之后,需要重新启动cron服务

    #重新加载cron配置文件 sudo /usr/sbin/service cron reload #重启cron服务 sudo /usr/sbin/service cron restart

    实际运行如下

    root@Ubuntu4146:~# sudo /usr/sbin/service cron reload root@ubuntu4146:~# sudo /usr/sbin/service cron restart cron stop/waiting cron start/running, process 17738

    4:设置备份过期时间

    设置只保存最近7天的备份,编辑 /etc/gitlab/gitlab.rb 配置文件,找到gitlab_rails[‘backup_keep_time’],设置为你想要设置的值,然后保存。

    gitlab_rails['backup_keep_time'] = 604800

    GitLab配置crontab定时自动备份

    5:GitLb迁移

    首先确保,两个Gitlab的版本是一致的,然后把文件上传到新的Giltab服务器上

    赋予备份文件权限

    chmod 777 1542596619_2018_11_19_9.2.1_gitlab_backup.tar

    停止相关的服务

    # 停止相关数据连接服务 gitlab-ctl stop unicorn gitlab-ctl stop sidekiq

    执行命令从备份中恢复到Gitlab

    gitlab-rake gitlab:backup:restore BACKUP=备份文件编号

    比如我们的是1542596619_2018_11_19_9.2.1_gitlab_backup.tar,那编号就是1542596619_2018_11_19_9.2.1

    gitlab-rake gitlab:backup:restore BACKUP=1542596619_2018_11_19_9.2.1

    然后出现第一个交互页面

    上一篇:CentOS 5.11 升级 OpenSSL

    栏    目:Nginx

    下一篇:RPM包制作之Spec文件参数详解

    本文标题:GitLab配置crontab定时自动备份

    本文地址:http://www.jh-floor.com/fuwuqijiaocheng/Nginx/8148.html

    您可能感兴趣的文章

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号