#!/bin/bashMYHST=127.0.0.1
MYUSR=root
MYPWD=pwdPREFIX=bkdb
SUFFIX=`date +%Y%m%d`.sql
DESTDIR=/bak#----------------------------------------------------------------------------
if [ ! -e "${DESTDIR}" ]
thenecho "fatal error : ${DESTDIR} not exists!"exit 1
fi#----------------------------------------------------------------------------
find "${DESTDIR}" -name "${PREFIX}-*.zst" -mtime +60 -exec rm {} \;#----------------------------------------------------------------------------
echo "begin ..."
for DB in $(mysql -h${MYHST} -u${MYUSR} -p${MYPWD} -N -e 'show databases' 2>/dev/null)
dofor SYSDB in information_schema performance_schema sysdoif [[ ${SYSDB} == ${DB} ]]; then continue 2; fidoneecho "mysqldump database : ${DB} ..."mysqldump -h${MYHST} -u${MYUSR} -p${MYPWD} --single-transaction --events --routines -d -B ${DB} | zstd -f -T0 > ${DESTDIR}/${PREFIX}-${DB}_d_${SUFFIX}.zst 2>/dev/nullmysqldump -h${MYHST} -u${MYUSR} -p${MYPWD} --single-transaction --events --routines -B ${DB} | zstd -f -T0 > ${DESTDIR}/${PREFIX}-${DB}_${SUFFIX}.zst 2>/dev/null
done
echo "end."