美文网首页
gitlab自动备份

gitlab自动备份

作者: sunix | 来源:发表于2018-12-14 15:33 被阅读0次

为了防止gitlab服务器硬盘损坏等问题导致代码丢失,最好定时自动备份git仓库并保存在远程文件服务器上,下面是我的配置过程

  • gitlab存储的目录

在ubuntu中默认的gitlab仓库是在 /var/opt/gitlab/git-data/repositories 中,gitlab的备份文件保存在 /var/opt/gitlab/backups 之中

  • 修改备份保存的目录和保存时间

我这里gitlab服务器挂载了两块硬盘,git仓库在第一块硬盘(/),于是我想要将gitlab的备份放在第二块硬盘中(/backups).如果没有这样的需求,只是将git备份在远程服务器的话,这一步可以省略.

  • 修改gitlab配置文件

    打开/etc/gitlab/gitlab.rb

          sudo vi /etc/gitlab/gitlab.rb
    

    找到

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

    两行,去掉注释符号'#',然后将 /var/opt/gitlab/backups 改成自己想要存放的备份文件路径 /backups

    找到

          #gitlab_rails['backup_keep_time'] = 604800
    

    去掉注释符号'#',将604800改成自己想要的保存时间,这里单位是秒,604800表示一周,我改成了86400,最多保存一天

    • 更新gitlab配置

        sudo gitlab-ctl reconfigure
      
  • 创建备份脚本并设置权限

      touch /home/gitlab/auto-backup.sh
      echo "gitlab-rake gitlab:backup:create" > /home/gitlab/auto-backup.sh
      sudo chmod +x /home/gitlab/auto-backup.sh
    
  • 尝试运行一遍auto-backup.sh脚本,看看在/backups目录下是否生成.tar格式的gitlab备份文件

  • 设置定时运行备份脚本

我这边设置的在每天的凌晨2点进行备份

    sudo echo "0 2 * * * root /home/gitlab/auto-backup.sh -D 1" >> /etc/crontab
    sudo service cron restart
  • 将备份的文件copy到远程文件服务器

修改自动备份脚本 auto-backup.ssh ,在备份完成后将文件copy到远程文件服务器

    echo "sshpass -p $remote_password scp -r /backups $remote_user@$remote_host:$dir" >> /home/gitlab/auto-backup.sh

这里 $remote_password 替换成远程服务器的登录密码, $remote_user 是远程服务器登录用户, $remote_host 是远程服务器域名或IP, $dir 是远程服务器的保存目录

至此,gitlab服务器的备份硬盘和远程文件服务器上都有一份gitlab的备份文件

相关文章

  • Gitlab管理与备份恢复

    gitlab常用管理命令 Gitlab备份与恢复 手动备份备份数据: 备份配置文件: 自动备份crontab -l...

  • gitlab的备份

    gitlab的备份 添加 重新加载配置 手动备份 自动备份 恢复备份

  • 实现Shell脚本自动备份Gitlab档案并同步到远程

    实现脚本自动备份Gitlab档案并同步到远程 参考:Gitlab的备份与恢复 Gitlab服务器与备份服务器进行密...

  • gitlab自动备份

    为了防止gitlab服务器硬盘损坏等问题导致代码丢失,最好定时自动备份git仓库并保存在远程文件服务器上,下面是我...

  • gitlab备份和恢复

    gitlab备份和恢复 一、gitlab仓库备份 过程如下 1.1、备份命令 gitlab-rake gitlab...

  • gitlab备份修改配置文件和单个项目备份

    gitlab备份分为热备份和冷备份 热备份:通过gitlab-rake gitlab:backup:create命...

  • gitlab迁移

    gitlab备份 默认备份目录 /var/opt/gitlab/backups/ 备份配置文件 gitlab停止数...

  • gitlab 备份和还原

    备份说明: gitlab备份分为配置备份和数据备份 执行指令-数据备份 gitlab-backup create ...

  • GitLab定时备份及恢复

    参考 Gitlab备份、迁移、恢复和升级 背景 项目中使用linux服务器作为Gitlab仓储,需要每天自动定时备...

  • gitlab 备份数据恢复

    在说gitlab数据备份数据恢复之前,前记录一个gitlab备份的命令 gitlab 服务的备份恢复,只能在和备份...

网友评论

      本文标题:gitlab自动备份

      本文链接:https://www.haomeiwen.com/subject/aceghqtx.html