Linux Mysqldump脚本在gzip输出后未返回预期结果

Linux Mysqldump脚本在gzip输出后未返回预期结果,linux,mysqldump,Linux,Mysqldump,我正在尝试制作一个脚本,通过电子邮件发送mysqldump的结果。成功的结果应该是0,但我得到的错误代码是1。看起来,当我将结果通过管道传输到gzip时,结果会发生变化,我不知道如何仅捕获mysqldump结果 这是我的剧本 DATE=$(date +"%Y-%m-%d_%Hh%Mm") BACKUPDIR=/backups BPAGE=4m mysqldump -u backup -pCih3brg4 -h localhost --all-databases | gzip > $BAC

我正在尝试制作一个脚本,通过电子邮件发送mysqldump的结果。成功的结果应该是0,但我得到的错误代码是1。看起来,当我将结果通过管道传输到gzip时,结果会发生变化,我不知道如何仅捕获mysqldump结果

这是我的剧本

DATE=$(date +"%Y-%m-%d_%Hh%Mm")
BACKUPDIR=/backups
BPAGE=4m

mysqldump -u backup -pCih3brg4 -h localhost --all-databases | gzip > $BACKUPDIR/all_db_$DATE.sql.gz

EXITCODE=$?
if [ $EXITCODE -eq 0 ] ; then

    chmod 600 $BACKUPDIR/all_db_$DATE.sql.gz 

    find  $BACKUPDIR/ -type f -name "*.gz" -mtime +7 -exec rm {} \;

    echo "DONE"

else echo "$0: backup failed with error code $?"

fi

不回答本身,但自动MySQL将为您完成所有这些,并有一些其他不错的功能


我已经用了很多年了,非常可靠。

你的if语句正确吗?看起来您将非零结果视为成功。我刚刚将if语句更改为equals。我正在通过更改凭据进行测试。现在,如果转储失败,我会从mysql收到一条错误消息,但它会显示“完成”。抱歉@Cameron,但我认为这是一个摆脱困境的选择,但不是正确的答案:)