参考Gitlab备份、迁移、恢复、更新的后台项目。linux centos服务器作为Gitlab仓库,需要每天定时自动备份(数据备份到windows),防止服务器磁盘损坏造成数据丢失。 操作步骤1。GitLab备份操作gitlab-rake gitlab: backup:执行后创建备份文件[root @ master opt]# ls/var/opt/git lab/backups/196532146 _ 2020 _ 08 _ 04 _ 13 . 1 . 4 _ git lab _ backup . tar 1596532193 _ 2020 _ 08 _ 04 _ 13 . 1 . 4 _ git lab _ backup . tar 2 .配置linux centos访问方便的Shell脚本scpGitLab进行windows机密登录3.写Shell导出脚本vim /opt/gitlabscp.sh#!/bin/shscp _ Linux _ path = '/var/opt/git lab/backups/' scp _ windows _ uri = ' user @ 192 . 168 . 1 . 58:E:\ tmp ' scp _ log _ path = '/opt/git labscp . log ' time = $(date+% Y-% M-% d \ % H:% M:% S)git lab-rake git lab:backup:create filename = ` ls$scp _ Linux _ path-t | head-n1 | awk ' { print $ 1& gt$ scp _ log _ paths CP $ scp _ Linux _ path $ filename $ scp _ windows _ uri 4。配置Linux定时任务crontab-e01 * * */opt/gitlabscp . sh该配置可以设置每天凌晨1: 00,定时从git lab服务器导出备份文件到windows主机。注意:linux centos的crontab cron表达式的最小单位是分钟。5.gitlab恢复和暂停相关服务。GitLab-CTL停止UnicornitLab-CTL停止sidekiq修改备份文件权限chmod 777/var/opt/git lab/backups/1530156812 _ 2018 _ 06 _ 28 _ 10 . 8 . 4 _ git lab _ backup.tar执行恢复gitlab-ctl启动git lab:backup:restore backup = 1530156812 _ 2018 _ 06 _ 28 _ 10.8