首页 > 代码库 > mysqldump 定时任务 执行后备份的文件为空

mysqldump 定时任务 执行后备份的文件为空

#!/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 {} \;

 

 

 

 

在定时任务中 执行 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 成功,

mysqldump 定时任务 执行后备份的文件为空