博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysqldump 定时任务 执行后备份的文件为空
阅读量:6716 次
发布时间:2019-06-25

本文共 1181 字,大约阅读时间需要 3 分钟。

#!/bin/bashmysql_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.gzdonefind ${back_dir} -mtime +10 -name "*.*" -exec rm -rf {} \;

 

 docker 方式备份数据库

#!/bin/bashdatetime=$(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.sqlfind ${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 成功,

 

转载于:https://www.cnblogs.com/freefei/p/4138794.html

你可能感兴趣的文章
takeown 卸载cygwin
查看>>
spring定时器----JobExecutionContext
查看>>
AIX账户安全管理
查看>>
ARM流水线
查看>>
5015/5/5 谈谈http协议
查看>>
nagios安装部署
查看>>
java中重载与重写的区别
查看>>
Fix:方便快捷的Web开发平台
查看>>
IT管理员如何保证你的内网安全?
查看>>
交互原型画得丑?29个优秀UI/UX线框草图
查看>>
用U盘安装debian系统
查看>>
Mac 下得Jmeter 测试
查看>>
java基础之本地线程
查看>>
sqlserver2005 递归查询
查看>>
30天提升技术人的写作力-第十一天
查看>>
OSPF环境下帧中继的配置
查看>>
Python 17.4 使用Web框架
查看>>
马哥1-3
查看>>
spring容器
查看>>
Linux系统架构(LB-HA集群)-nginx负载均衡集群配置
查看>>