gitlab一天备份多次

avatar 2022年6月10日18:30:11 评论 708 次浏览

因业务需要,gitlab服务器的数据为避免认为的操作导致数据丢失,所以要求在每天能够备份多次,但是备份出来的数据只能依靠文件创建时间来确定是什么时候的数据,为了避免在前一后文件创建时间出现问题需要在文件名后加个时间,看下面的脚本。

#!/bin/bash
#执行备份命令
gitlab-rake gitlab:backup:create #备份
filename=`ls  /var/opt/gitlab/backups/*.tar`
filedate=$(date +%Y%m%d%H)
newfile=${filename##*/}'_'$filedate
mv $filename /opt/gitlab/backserve/$newfile
find /opt/gitlab/backserve/ -type f -mtime +7 -exec rm -f {} \;

这里备份后通过${}获取文件名称,然后拼接字符串,对文件进行重命令。这里是需要做定时任务即可,每隔几个小时执行一次即可,不过在gitlab的配置文件中也有备份配置。

[wolf@wulaoer.org🔥🔥🔥🔥 ~]# vim /etc/gitlab/gitlab.rb
.........................
# gitlab_rails['manage_backup_path'] = true
# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #备份路径
# gitlab_rails['backup_keep_time'] = 604800 #保留时间

如果你部署的是kubernetes环境备份呢,这里简单距离说明一下kubernetes中备份gitlab,只需要在gitlab服务中执行

kubectl exec gitlab  -- rake gitlab:env:info RAILS_ENV=production

如果是helm安装的可以参考官网信息:https://docs.gitlab.com/ee/

恢复

备份的文件如果是全量备份,直接恢复即可,如果是增量备份需要根据顺序恢复,这个一定要看好顺序,下面看一下恢复命令。

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

恢复gitlab仓库
gitlab-rake gitlab:backup:restore BACKUP=1654144300_2022_06_02_12.10.14_gitlab_backup.tar
启动gitlab服务
sudo gitlab-ctl start

备份和还原服务的版本一定要一致,还原后启动,如果需要修改gitlab的配置文件就需要重新加载一下

然后执行命令重载配置文件即可
gitlab-ctl reconfigure

以上就是gitlab的备份还原方式,根据自己需求使用,没有了,看些其他的吧。。。。。。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: