今天把gitlab的备份搞完了
其实仔细看看,gitlab自己做的备份已经很好了,他也是增量备份的,速度也很快
我主要就是再主机上写了个脚本做备份,然后将备份同步到备份机上,再用备份机进行自动部署。自动部署其实也是gitlab做的,我做的只是将这个过程自动化了而已
附上我写的自动化脚本,可以供大家参考。应该是通用的。然后也便于我以后记忆,记得做crontab哦 ,后续我会写个详细的crontab的介绍。。因为我之前遇到过一些问题,我会记录下来的
在主机上得备份.sh
在备份机上得 同步.sh
P.S.我没有做错误代码输出。我要记得,记得,记得。。。三遍了。希望真的能记得,god
其实仔细看看,gitlab自己做的备份已经很好了,他也是增量备份的,速度也很快
我主要就是再主机上写了个脚本做备份,然后将备份同步到备份机上,再用备份机进行自动部署。自动部署其实也是gitlab做的,我做的只是将这个过程自动化了而已
附上我写的自动化脚本,可以供大家参考。应该是通用的。然后也便于我以后记忆,记得做crontab哦 ,后续我会写个详细的crontab的介绍。。因为我之前遇到过一些问题,我会记录下来的
在主机上得备份.sh
#!/bin/sh
rm -rf /var/opt/gitlab/backups/*.tar
sudo gitlab-rake gitlab:backup:create
在备份机上得 同步.sh
#!/bin/sh
rsync --delete -ave ssh root@主机ip:/var/opt/gitlab /var/opt/
#rsync --delete -ave ssh root@
主机ip:/repo数据存放源路径
repo数据存放目标路径
#rsync --delete -ave ssh root@
主机ip:/etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb
rsync --delete -ave ssh root@
主机ip:/opt/gitlab /opt/
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
for filename in /var/opt/gitlab/backups/*.tar
do
backfile=`basename ${filename}`
backname=${backfile%%_g*r}
echo backname:$backname
echo yes|sudo gitlab-rake gitlab:backup:restore BACKUP=$backname
done
sudo gitlab-ctl start
P.S.我没有做错误代码输出。我要记得,记得,记得。。。三遍了。希望真的能记得,god