mysqldumpタイミングタスク実行後にバックアップされたファイルが空です

2738 ワード

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

 
 
 
 
タイミングタスクで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成功、