DATAPATH=/var/lib/mysql
TIME=`date +%F_%H-%M-%S`
BACKUP_SERVER=10.0.0.100
LOCK_FILE=/tmp/backup_mysql.lock
lock() {
if [ -e ${LOCK_FILE} ] ;then
echo "另一个备份正在执行,退出"
exit
else
touch ${LOCK_FILE}
fi
}

unlock (){
if [ -e ${LOCK_FILE} ];then
rm -f ${LOCK_FILE}
fi
}

backup_mysql(){
lock
systemctl stop mysqld &>/dev/null
tar zcf mysql-backup-${TIME}.tar.gz ${DATAPATH} &>/dev/null
scp mysql-backup-${TIME}.tar.gz ${BACKUP_SERVER}:/backup/ &>/dev/null
systemctl start mysqld &>/dev/null
unlock
}

backup_mysql