1、备份配置文件
注:还原需要的配置文件
/etc/gitlab/gitlab.rb
/etc/gitlab/gitlab-secrets.json
2、备份数据,数据默认保存在/var/opt/gitlab/backups目录。
gitlab-rake gitlab:backup:create
接下来恢复数据,需要注意的是gitlab对应版本必须一致
3、复制数据到新Gitlab默认备份目录
cp 备份文件_gitlab_backup.tar /var/opt/gitlab/backups/
4、设置访问权限777
chmod 777 /var/opt/gitlab/backups/*.tar
5、恢复数据
#停止gitlab
gitlab-ctl stop unicorn
gitlab-ctl stop sideki
#必须线先将备份的gitlab.rb和gitlab-secrets.json文件放在你的gitlab对应目录下
#修改gitlab.rb里面gitlab对应的ip为你现在gitlab的访问ip
#TIMESTAMP_NUMBER不包含_gitlab_backup.tar(你的备份tar文件)
gitlab-rake gitlab:backup:restore BACKUP=TIMESTAMP_NUMBER
yes-->yes
注:恢复过程中的gitlab数据库报错,根据错误信息搜索操作就可以解决
异常信息如下
Restoring PostgreSQL database gitlabhq_production ... ERROR: must be owner of extension pg_trgm
ERROR: must be owner of extension btree_gist
ERROR: must be owner of extension btree_gist
ERROR: must be owner of extension pg_trgm
解决方法
1、修改postgresql相关配置
# 修改以下配置文件,修改端口监听地址,默认监控localhost,* 代表all
$ vim /var/opt/gitlab/postgresql/data/postgresql.conf
listen_addresses = '*'
# 以下配置文件新增以下两行
$ vim /var/opt/gitlab/postgresql/data/pg_hba.conf
local all all trust
host all all 127.0.0.1/32 trust
2、重启gitlab服务(目的是为了重启gitlab数据库)
$ gitlab-ctl restart
3、修改
$ su - gitlab-psql
$ /opt/gitlab/embedded/bin/psql -h 127.0.0.1 gitlabhq_production
gitlabhq_production=# ALTER USER gitlab WITH SUPERUSER;
ALTER ROLE
gitlabhq_production=# \q
$ exit
然后在执行上面恢复操作