gitlab数据备份

环境:Centos7.4
gitlab版本:11.0
备份脚本如下:

#!/bin/bash
# 创建备份
docker exec gitlab gitlab-rake gitlab:backup:create
# 获取最新备份的文件名
backupName=$(ls -lt /home/docker/gitlab/data/backups | grep gitlab_backup.tar | head -n 1 |awk '{print $9}');
# 获取文件名的前28位
backupName=${backupName:0:28}
cp  /home/docker/gitlab/data/backups/$backupName"_gitlab_backup.tar" /data/gitlab-data/
find /data/gitlab-data/ -type f -mtime +2 | xargs rm -rf
find /home/docker/gitlab/data/backups/ -type f -mtime +1 | xargs rm -rf
# 调用同步脚本
sh /home/deployment/sync.sh $backupName
# 调用恢复脚本
#sh /home/deployment/restore.sh $backupName

备份到远程服务器归档或者保险备份:

#!/bin/bash
# 同步到云
# 备份文件名
backupName=$1
sshpass -p "远程服务器密码" rsync --progress "/home/docker/gitlab/data/backups/"$backupName"_gitlab_backup.tar" 远程用户@远程服务器IP:"/home/bak/gitlab/"$backupName"_gitlab_backup.tar"

还原gitlab数据脚本:

#!/bin/bash
# 备份名称 例:backupName="1590975087_2020_06_01_11.9.8";
backupName=$1;
# 备份文件全名
backupFullName=$backupName"_gitlab_backup.tar"
# 复制到目录文件下
cp "/home//docker/gitlab/backups/"$backupFullName /home/deployment/gitlab/data/backups/
# 设置权限
chmod 777 "/home/deployment/gitlab/data/backups/"$backupFullName
# 执行恢复
yes yes|docker exec -i gitlab gitlab-rake gitlab:backup:restore BACKUP=""$backupName
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

划水的运维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值