zoukankan      html  css  js  c++  java
  • 定时备份docker容器中mysql的数据

    echo '开始备份数据'
     
    now=$(date "+%Y%m%d")
    backup_dir="/data/back_up"
     
    #获取容器id
    mysqlid=`/usr/local/bin/docker ps -aqf "name=mysql5.7"`
     
    #进入mysql容器
    /usr/local/bin/docker exec -i ${mysqlid} bash<<'EOF'
     
    #mysqldump导出表结构和数据
    if [ ! -d "/backup" ]; then
        mkdir -p /backup
    fi
     
    if [ -f "/backup/db.sql" ]; then
        rm -rf /backup/db.sql
    fi
     
    mysqldump --single-transaction -u root -h 127.0.0.1 --password=123456 --all-databases > /backup/db.sql
     
    echo '成功制作备份sql'
     
    if [ $? -ne 0 ]; then
        echo 'mysqldump运行失败'
        exit
        EOF
    fi
     
    exit
     
    EOF
     
    #将容器内sql文件导出到服务器
    if [ ! -d "${backup_dir}" ]; then
        mkdir -p "${backup_dir}"
    fi
     
    /usr/local/bin/docker cp ${mysqlid}:/backup/db.sql ${backup_dir}/db_${now}.sql
     
    if [ $? -ne 0 ]; then
        echo 'docker cp文件失败'
        exit
    fiecho '完成备份数据'
  • 相关阅读:
    IntentService源码分析
    startService过程源码分析
    洛谷P3300 城市规划
    agc033
    洛谷P3306 随机数生成器
    洛谷P3299 保护出题人
    洛谷P3298 泉
    洛谷P3296 刺客信条
    树hash
    我们都爱膜您退火!
  • 原文地址:https://www.cnblogs.com/wangtaobiu/p/15624238.html
Copyright © 2011-2022 走看看