部门顺应时代潮流,从svn终于迁移到了git,之前同事搭了一套gitlab环境,因业务加大,防止因gitlab挂掉而影响工作,所以要求我在搭一套gitlab环境,并做伪高可用,也就是在一个gitlab宕机之后,30分钟之内恢复正常,于是我做了这套主备数据同步的尝试,来,看正文:
机器准备:
172.16.44.44 master
172.16.12.1 backup
配置免密登录:
#cd ~
#ssh-keygen
#ssh-copy-id -i .ssh/id_rsa.pub 172.16.12.1
项目同步
#*/5 * * * * rsync -av /var/opt/gitlab/git-data/repositories root@172.16.12.1:/data1/git-data #你的backup的repo目录
数据库同步
master机器生成sql:
#su - gitlab-psql
#pg_dump -cf gitlabhq_production.sql gitlabhq_production
在执行这一步的时候可能会报以下错误,执行下面两条命令即可:
cd /tmp
ln -s /var/opt/gitlab/postgresql/.s.PGSQL.5432 .
#scp gitlabhq_production.sql 172.16.12.1:/data1/git-data
backup机器执行sql:
#su - gitlab-psql
#psql -h /var/opt/gitlab/postgresql -d gitlabhq_production -f gitlabhq_production.sql
同步完成!