美文网首页
定时备份Docker中的MongoDB到阿里云的OSS

定时备份Docker中的MongoDB到阿里云的OSS

作者: aq_wzj | 来源:发表于2020-08-07 14:12 被阅读0次

    1. 安装OSS工具

    OSS的详细教程 https://www.alibabacloud.com/help/zh/doc-detail/120075.htm

    linux64 root用户为例

    1. 下载

      cd /usr/local/bin
      wget http://gosspublic.alicdn.com/ossutil/1.6.17/ossutil64
      
    2. 配置

      cp ossutil64 ossutil
      
      chmod 755 ossutil64
      chmod 755 ossutil
      
    3. 生成配置文件

      ossutil config
      第一步输入配置文件, 直接按回车即为默    认/root/.ossutilconfig
      第二步输入语言: CH
      第三步输入endpoint:http://oss-cn-shenzhen.aliyuncs.com
      第四步输入accessKeyID
      第五步输入accessKeySecret
      第六步输入stsToken:不用输, 回车即可
      

    2. 创建备份脚本

    vi /root/auto-backup.sh

    #!/bin/bash
    # 容器名叫mongo-yapi
    # 时间, 做文件名用
    dd=`date +%Y-%m-%d-%H-%M-%S`
    # 备份到容器的 /dump/$dd文件夹
    docker exec  mongo-yapi mongodump   -o /dump/$dd
    # 压缩/dump/$dd为/dump/$dd.tar
    docker exec mongo-yapi tar -cvf /dump/$dd.tar /dump/$dd
    # 复制压缩包到宿主机的/dump/$dd.tar
    docker cp mongo-yapi:/dump/$dd.tar /dump/$dd.tar
    # 删除docker中的备份数据
    docker exec  mongo-yapi rm -rf /dump/
    # 上传至oss
    /usr/local/bin/ossutil --config-file=/root/.ossutilconfig cp /dump/$dd.tar oss://bucket名称/yapi/$dd.tar
    删除本地的备份数据
    rm -rf /dump/*
    

    2.1. 更改脚本权限

    chmod 755 /root/auto-backup.sh

    3. 创建定时任务

    crontab -e

     # 每天备份一次, 输出重定向到/var/log/crontab/mysql.log
     # /var/log/crontab/文件夹需要提前创建
     0 0 * * * /root/auto-backup.sh > /var/log/crontab/mysql.log 2>&1 &
    

    .

    相关文章

      网友评论

          本文标题:定时备份Docker中的MongoDB到阿里云的OSS

          本文链接:https://www.haomeiwen.com/subject/coukrktx.html