首页 > Windows开发 > 详细

docker环境下gitlab的自动双机备份(直接备份到window的共享目录下)

时间:2019-11-21 18:43:31      阅读:199      评论:0      收藏:0      [点我收藏+]

  以下操作均在root用户中操作

  首先需要知道gitlab容器中备份文件存放的位置,和与本机映射的位置。

  gitlab的备份一般是在/var/opt/gitlab/backer 路径中,但是由于我一开始配置gitlab容器的时候不小心将/var/opt/gitlab/backer 路径写成了/ar/opt/gitlab/backer  少了一个V,导致我本机目录下无法找到,所以我更改了一下我的备份路径,关于如何更改备份路径请自行百度。

  不知道映射路径的可以使用docker iptables命令查询

  1.首先使用docker ps查看容器信息 比如我的gitlab容器ID是279fe051b113 

  然后使用

docker inspect 279 | grep Mounts -A 20  ID

 

  不用全部打,写前几位就可以了 也可是容器名字。

  技术分享图片 

  source 是我们本机的

  destination 是容器内地址

 

  2.GitLab自动备份

  新建备份的sh文件:在/root 下新建gitlab_backup.sh ,内容如下:

#! /bin/bash
case "$1" in 
    "start")
        docker exec gitlab gitlab-rake gitlab:backup:create
        ;;
esac

 

  测试 输入 sh gitlab_backup.sh start

  如果/srv/gitlab/data/backups 下有新生成的tar包,即可说明sh文件写对了。

  新增定时任务:使用crontab -e 进入定时任务编辑界面,新增如下内容:

  0 2 * * * /root/sh gitlab_backup.sh start
  保存 ctrl+X -> Y

 

  3.安装挂载window工具

  apt-get install cifs-utils

  自动挂载共享文件夹,在文件 /etc/rc.local exit 0前粘贴如下命令

 

 sudo mount -t cifs -o userneme=root,password=123456,uid=1000,gid=1000 //192.168.1.112/A1 /mnt/A1


  uid=user,gid=user中输入你ubuntu的用户名,可以用命令id [你的用户名]来查看你的uid和gid;
  username是window下的设置folder共享时的用户;
  password是username对应的密码;
  //192.168.1.112/d中192.168.1.112是windows的IP地址,A1是你要共享的windows目录;
  /mnt/A1是你刚新建的文件夹;

  4.创建自动复制到共享文件夹的sh脚本

vim gitlab_upload.sh
#!/bin/bash
backdir=/home/user/docker/gitlab/config
cd "$backdir"
name=$(ls -t|head -n 1)
cp $name /home/user/mnt/share

  这个脚本的意思是将备份文件拷贝到共享目录/home/user/mnt/share中

 

  5.重复上面的crontab-e 让系统自动运行 稍微比备份推迟个几分钟

  6.删除前一天的备份文件

  创建自动删除脚本

vim auto_delete.sh
#!/bin/bash
backdik=/home/user/docker/gitlab/config
find "$backdik" -name "*gitlab_backup.tar" -ctime +1 -type f -exec rm -rf {} \;

  crotab-e同上,时序最好就是在备份和拷贝到window共享目录之后执行

  dackdik是你的备份目录

 

docker环境下gitlab的自动双机备份(直接备份到window的共享目录下)

原文:https://www.cnblogs.com/isyefeng/p/11906925.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!