gitlab 备份和还原

一,在windows 服务器建立一个共享文件夹和在linux 挂在这个共享文件夹

二,gitlab 备份

1,设置备份目录路径,在配置文件中加入

[root@gitlab ~]mkdir -p /home/gitlab_back 
[root@gitlab ~] vim /etc/gitlab/gitlab.rb 
``` 
gitlab_rails['manage_backup_path'] = true 
gitlab_rails['backup_path'] = "/home/gitlab_back" 
````

如上设置了gitlab备份目录路径为/home/gitlab_back,最后使用下面命令重载gitlab配置文件,是上述修改生效!

[root@gitlab ~]gitlab-ctl reconfigure

2,gitlab 备份操作

制定任务计划每天23点执行备份命令 
[root@gitlab ~]crontab -e

第2个任务计划是清理30天前的备份文件,将最新的1天备份目录下的文件复制到另一个目录(挂载了另外一台windows服务器的共享文件夹),以下是脚本内容 
````

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 
/usr/bin/find /home/gitlab_back -mtime +30 -name "".tar |xargs rm -rf 
/usr/bin/find /home/gitlab_back/ -mtime -1 -name "
".tar -exec cp -a {} /gitlab_tar/ \;

````

三,异地服务器还原

一旦原主机宕机,系统损坏,那就要拿windows共享文件夹的gitlab 备份文件进行还原了

1, 在新主机安装gitlab 服务,版本需要跟原来的一样,我们用的是gitlab-ce-10.0.2

```` 
git clone https://gitlab.com/xhang/gitlab.git 
yum install -y curl openssh-server openssh-clients postfix cronie policycoreutils-python 
systemctl start postfix 
systemctl enable postfix 
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm 
ls 
rpm -i gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm 
gitlab-ctl reconfigure

````

2,然后停止相关数据连接服务

[root@gitlab ~]gitlab-ctl stop unicorn 
[root@gitlab ~]gitlab-ctl stop sidekiq 
将windows 备份的gitlab.rb 配置文件复制到本机替换,然后根据配置文件中设置的备份目录在本机新建目录 
还有将最新的备份文件复制到本机备份目录里面,设置备份文件权限 chmod 777

3,进行还原

[root@gitlab ~]cd /home/gitlab_back 
[root@gitlab ~]gitlab-rake gitlab:backup:restore BACKUP=1531753276_2018_07_16_10.0.2

4,最后再次启动

[root@gitlab ~]gitlab-ctl start

你可能感兴趣的:(linux)