zoukankan      html  css  js  c++  java
  • mysqldump 定时任务 执行后备份的文件为空

    #!/bin/bash
    mysql_host="127.0.0.1"
    mysql_user="root"
    mysql_passwd="********"
    
    back_dir="/www/backup/database/"
    
    ignore_db="information_schema|mysql|performance_schema"
    
    db_arr=`mysql -u${mysql_user} -p${mysql_passwd} -h${mysql_host}  -Bse "show databases;" | grep -vE "(${ignore_db})"`
    
    datetime=$(date +%Y-%m-%d-%H_%M_%S)
    
    for dbname in ${db_arr}
    do
        mysqldump -u${mysql_user} -p${mysql_passwd} -h${mysql_host} ${dbname} | gzip > ${back_dir}${dbname}-${datetime}.sql.gz
    done
    
    find ${back_dir} -mtime +10 -name "*.*" -exec rm -rf {} ;

     docker 方式备份数据库

    #!/bin/bash
    
    datetime=$(date +%Y-%m-%d-%H_%M_%S)
    
    MYSQL=$(docker ps| grep "mysql:5.7" | grep -v grep | awk '{print $1}')
    
    backup_path=/data/backup/
    
    MYSQL_ROOT_PASSWORD=密码
    
    docker exec ${MYSQL} sh -c "exec mysqldump --all-databases -uroot -p$MYSQL_ROOT_PASSWORD" > ${backup_path}/${datetime}_all-databases.sql
    
    find ${backup_path} -mtime +10 -name "*.sql" -exec rm -rf {} ;

    在定时任务中 执行 shell 脚本文件 执行的结果出来的压缩包为空,报错找不到 mysqldump 原因是mysqldump 没有设置全局 shell调用变量

    解决:

    找到mysqldump 安装路径 加上软连接

    ln -fs /usr/local/mysql/bin/mysql /usr/bin


    参考 http://www.cnblogs.com/xcxc/archive/2013/02/22/2921764.html

    单独运行sh shh.sh 成功,

  • 相关阅读:
    ios 学习小笔记
    object c 2.0 @property属性
    uiPickerView 滚动盘
    ios 文件操作
    ios多窗体项目
    Linux命令
    Mina的使用
    设计模式学习总结访问者模式(Visitor Method)
    socket, nio socket 及nio socket框架MINA总结
    UML类图与类的关系详解UML一波流系列(转转)
  • 原文地址:https://www.cnblogs.com/freefei/p/4138794.html
Copyright © 2011-2022 走看看