还原

  • 以下目录使用 20221111184140 时间点作为说明示例,格式:年月日时分秒
  • 宿主机使用默认的数据目录 /data/mingdao/ (可通过 cat /etc/pdcaptain.json 或 管理器根目录下 cat service.sh | grep installDir= 查看)

准备工作

  1. 停止明道云服务,在管理器根目录执行 bash ./service.sh stopall(成功输出 stoped);
  2. 将备份文件 20221111184140.tar.gz 上传至数据还原服务器,如存放于 /backup/ 目录下;
  3. 移除当前环境下的原数据(安全起见,先使用 mv 命令,运行没问题后可彻底删除)
    time=$(date +%Y%m%d%H%M%S) && mkdir -p /backup/$time/ && mv /data/mingdao/script/volume/data/* /backup/$time/
    

dump 方式(v3.7.1+支持)

  1. /backup/ 目录下解压备份压缩包

    tar -zxvf 20221111184140.tar.gz
    
  2. 启动临时容器,并且挂载数据目录

    docker run -it --rm --entrypoint bash -e ENV_MYSQL_HOST="127.0.0.1" -e ENV_MYSQL_PORT="3306" -e ENV_MYSQL_USERNAME="root" -e ENV_MYSQL_PASSWORD="123456" -e ENV_MONGODB_URI="mongodb://127.0.0.1:27017" -e ENV_MONGODB_OPTIONS="" -v /data/mingdao/script/volume/data/:/data/ -v /backup/:/data/backup/ $(docker images | grep community | awk '{print $1":"$2}' | head -n1)
    
    mkdir -p /data/{logs,mysql,mongodb,storage}
    mkdir -p /data/storage/data
    
  3. 临时容器内启动 mysql 服务端,用于还原数据

    source /entrypoint.sh && mysqlStartup &
    
  4. 重建 mysql 数据库,如有重要数据需备份后在进行删除

    source /entrypoint.sh && restore mysql /data/backup/20221111184140/mysql
    
  5. 临时容器内启动 mongodb 服务端,用于还原数据

    source /entrypoint.sh && mongodbStartup &
    

    启动会自动创建索引,索引创建完成后需手动执行回车命令

  6. 重建 mongodb 数据库,如有重要数据需备份后在进行删除

    source /entrypoint.sh && restore mongodb /data/backup/20221111184140/mongodb
    
  7. 重建文件数据

    source /entrypoint.sh && restore file /data/backup/20221111184140/file
    
  8. 执行 exit,退出临时容器

  9. 管理器根目录下执行 bash ./service.sh startall 重启服务

文件复制方式

  1. 将原备份的压缩包上传至当前服务器并解压到数据目录

    tar -zxvf /backup/20221111184140.tar.gz -C /data/mingdao/script/volume/data/
    
  2. 管理器根目录下执行 bash ./service.sh startall 重启服务

results matching ""

    No results matching ""