由于git服务器是自己用普通pc来架设的,虽然对存储做了软阵列的存储冗余处理,增强了安全性,但还是会有存储损坏数据丢失的风险。为了增加安全性,在另外一台最为编译服务器上,定时对仓库进行备份。
1. 备份的机器:
a) 备份服务器用的是ubuntu系统,地址172.28.1.132,开了ssh服务。
b) 在用于备份的用户目录下(假设用户为back,密码为123456),创建一个用于备份的目录,如gitback。
c) 在备份目录gitback下创建一个脚本gitback.sh:
#!/bin/sh
giturl="http://172.28.12.215/chenzewei/"
reslist="besopensource.gitbes2000.git bes2000otaboot.git screenrecorddemo.git StudentVR.gitStudentVR -.git launcherscence.git testdir.gitrk3399-kernel.git gvr-android-sdk.git"
gitbackdir=$PWD
for resin ${reslist};
do
cd ${res}
git fetch
cd $gitbackdir
git clone --mirror ${giturl}${res}
done
2. Git服务器:
a) 增加一个定时任务
执行命令crontab –e
a) 在出现的vi编辑界面最后加入一行:
0 4 * * * sshpass -p 123456 ssh back@172.28.1.132 "cdgitback && sh gitback.sh"
保存,这个任务会在每天4点执行。
老板再也不用担心数据丢失了:)