Luckean's blog Luckean's blog
首页
  • 前端文章

    • JavaScript
  • 项目笔记

    • 项目笔记
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • flutter 布局
  • dart 数组的定义
  • java目录
  • jenkins配置
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • vscode vim 结合使用
  • vscode vim 汇总
  • vscode快捷键
  • vscode自定义快捷键
  • typora 使用技巧
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档

Luckean

前端界的小学生
首页
  • 前端文章

    • JavaScript
  • 项目笔记

    • 项目笔记
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • flutter 布局
  • dart 数组的定义
  • java目录
  • jenkins配置
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • vscode vim 结合使用
  • vscode vim 汇总
  • vscode快捷键
  • vscode自定义快捷键
  • typora 使用技巧
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • java目录
  • jenkins配置
  • 服务器流程
  • sh部署 scp免密
  • v2ray,X-ui,Xray 面板,v2rayA
  • 服务器杂学
  • docker
  • ubuntu 开启root权限登陆
  • 如何在Centos7 系统开放端口
  • pip命令安装
  • yapi mongo
    • paste
    • ssl 证书申请
    • chevereto 图床搭建
    • linux tar 解压命令
    • 服务器
    Luckean
    2022-12-24
    目录

    yapi mongo

    # yapi docker-compose.yml

    version: '3'
    
    services:
      yapi-web:
        image: jayfong/yapi-x:latest
        container_name: yapi-web
        ports:
          - 40001:3000
        environment:
          - YAPI_ADMIN_ACCOUNT=**@**.com  # 改
          - YAPI_ADMIN_PASSWORD=19****** # 改
          - YAPI_CLOSE_REGISTER=true
          - YAPI_DB_SERVERNAME=yapi-mongo
          - YAPI_DB_PORT=27017
          - YAPI_DB_DATABASE=yapi
          - YAPI_MAIL_ENABLE=false
          - YAPI_LDAP_LOGIN_ENABLE=false
          - YAPI_PLUGINS=[{"name":"add-user","options":{}}]  #github插件名:yapi-plugin-add-user,但容器npm install拼接了yapi-plugin
        depends_on:
          - yapi-mongo
        links:
          - yapi-mongo
        restart: unless-stopped
      yapi-mongo:
        image: mongo:latest
        container_name: yapi-mongo
        volumes:
          - ./data/db:/data/db
        expose:
          - 27017
        restart: unless-stopped
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31

    https://github.com/fjc0k/YApi-X 安装了yapi-x

    https://github.com/fjc0k/docker-YApi

    # yapi 菜单抖动问题

    进入容器

    docker exec -it yapi-web /bin/sh
    
    1

    容器: /yapi/vendors/static/

    cd  /yapi/vendors/static
    vi ./index.html
    
    1
    2

    添加样式

    <style>
    .ant-menu-inline .ant-menu-item, .ant-menu-inline .ant-menu-submenu-title {
        width: auto!important;
    }
    </style>
    
    1
    2
    3
    4
    5

    # yapi MongoDB还原

    image-20221229220409380

    链接:https://pan.baidu.com/s/1uiOGtNN7znXg_YfjqZeOKw 提取码:woon

    解压文件放到文件夹里

    把宿主机里面的文件拷贝到容器里

    # 容器创建/backup
    docker cp  /root/docker/yapi/backup/yapi/ yapi-mongo:/backup/
    docker cp  宿主机路径 容器名:/容器路径/
    
    1
    2
    3

    进入容器

    docker exec -i -t yapi-mongo /bin/bash
    docker exec -i -t 容器名 /bin/bash
    
    1
    2

    MongoDB从容器路径导入数据

    mongorestore -h 127.0.0.1 --port 27017 -d yapi /backup/yapi
    mongorestore -h 127.0.0.1 --port 27017 -d 数据库名 容器内备份路径
    
    1
    2

    tar打包

    # yapi MongoDB备份

    查看现有的docker 找到MongoDB的Name

    docker ps
    
    1

    进入MongoDB的docker

    docker exec -i -t {dockername} /bin/bash
    
    1

    创建备份文件夹

    mkdir -p /backup/list
    
    1

    把MongoDB的数据库导出到容器目录

    mongodump -h 127.0.0.1 --port 27017 -d yapi -o /backup/list
    
    1

    把docker容器内的文件导出到宿主机

    docker cp  yapimongo:/backup/ /root/docker/backup/yapi/
    docker cp  容器内路径 宿主机路径
    
    1
    2

    自动脚本

    #!/bin/sh
    # dump 命令执行路径,根据mongodb安装路径而定
    # mongo的容器名称
    MONGODB_CONTAINER_NAME=mongo-yapi
    DUMP="docker exec -i ${MONGODB_CONTAINER_NAME} "
    # 临时备份路径(注:docker 容器内的路径)
    OUT_DIR=/dump
    # 压缩后的备份存放路径(注:docker 容器内的路径)
    TAR_DIR=/backup/list
    # 当前系统时间
    DATE=`date +%Y%m%d%H%M`
    # 数据库账号
    #DB_USER=user
    # 数据库密码
    #DB_PASS=password
    # 数据库名称,多个用空格隔开
    DB_NAME_ARR=("yapi")
    # 代表删除7天前的备份,即只保留近 7 天的备份
    DAYS=7
    
    
    # 最终保存的数据库备份文件
    for DBNAME in ${DB_NAME_ARR[@]}
    do
        # 删除临时目录内容
        rm -rf $OUT_DIR/*
    
        # 文件名称:数据库名_时间
        FILE_NAME="${DBNAME}_${DATE}"
        # 导出数据的临时目录
        TARGET_DIR="$OUT_DIR/$FILE_NAME"
        mkdir -p $TARGET_DIR
        # 临时目录打包压缩后的文件
        TARGZ_FILE="${FILE_NAME}.tar.gz"
        # 存放压缩后文件的目录
        TARGET_FILE="$TAR_DIR/$TARGZ_FILE"
        find /backup/list -mtime +1 -delete
        # 执行导出命令
        # $DUMP -h 127.0.0.1:27017 -u $DB_USER -p $DB_PASS -d $DBNAME -o $OUT_DIR/$DATE
        $DUMP mongodump -h 127.0.0.1:27017 -d $DBNAME -o $TARGET_DIR
    
        # 判断导出结果
        flag=`echo $?`
        if [ $flag == "0" ];then
                echo "database $DBNAME success backup to $TARGET_DIR"
        else
                echo "database $DBNAME backup fail!"
        fi
    
        # 压缩格式为 .tar.gz 格式
        # -P tar 默认采用相对路径压缩打包,需要(-P)允许使用绝对路径
        # -v 输出 verbose 日志
        $DUMP tar -zcPf $TARGET_FILE $TARGET_DIR/$DBNAME
    
        # 将容器内的压缩文件,复制到宿主机与备份脚本同级的dump目录下
        docker cp ${MONGODB_CONTAINER_NAME}:$TARGET_FILE /docker/mangodb/data/backup
         #echo "docker cp ${MONGODB_CONTAINER_NAME}:$TARGET_FILE $PWD/dump"
    
    
    done
    
    # 删除 $DAYS 天前的备份文件
    find /docker/mangodb/data/backup -mtime +$DAYS -delete
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63

    # 端口:12321 宝塔nginx配置

    使用宝塔反向代理

    上次更新: 2023/02/23, 00:30:28
    pip命令安装
    paste

    ← pip命令安装 paste→

    最近更新
    01
    Mac配置nginx+php
    08-23
    02
    p12文件的生成
    08-22
    03
    mac 程序安装失败解决
    08-18
    更多文章>
    Theme by Vdoing | Copyright © 2022-2023 Lucking | 粤ICP备2022078904号-1
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式