前几天配置了Gitlab,也做了定时备份,但当时是保存在本机上的。后来感觉应该采用异地备份才靠谱,开始折腾。。。
1、给另一台局域网内的主机设置共享目录,并挂载到CentOS上。
mount -t cifs -o username=un,password=pass,rw,uid=0,gid=0,dir_mode=0777,file_mode=0777 //10.66.168.10/sharename /mnt/server246
说明:--加粗和倾斜的地方为自己定义处。
2、编写Shell脚本,我的名称为mytask.sh
#!/bin/sh
/opt/gitlab/bin/gitlab-rake gitlab:backup:create
location="/mnt/backups/"
cd $location
filename=$(ls -lt /mnt/backups/ | head -n 2 |awk '{print $9}')
#echo $filename
cp -rf $filename /mnt/server246/
find $location -mtime +5 -type f |xargs rm -f
3、加载到定时器中,我设置为每天的凌晨2点执行。
sudo su -
crontab -e
0 2 * * * /bin/sh /usr/bin/mytask.sh
最后,可以在10.66.168.10的共享目录下找到拷贝过去的备份文件。
自此设置完成,可以实现异地备份。