我正在尝试制作一个通过电子邮件发送我的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