#!/bin/bash source /etc/profile user="" password="" bakfile=/backup/mysqldump/`date "+%Y-%m-%d_%H%M%S"`.sql.gz IP=`ip addr | grep -v inet6 | grep -i inet | tail -n 1 | awk '{ print $2}' | awk -F'/' '{ print $1}'` # start mysqldump mysqldump --defaults-file=/etc/my.cnf --user=$user --password=$password --host=$IP --single-transaction --master-data=2 --events --routines --all-databases | gzip > $bakfile if [ $? -ne 0 ] then echo "$IP Error!" | mail -s 'mysqldump backup fail!' 邮箱账号 echo "$IP mysqldump backup fail!" exit 1 fi
# 删除半个月之前的备份 find /backup/mysqldump -type f -name "*.sql.gz" -mtime +15 |xargs -exec rm -rf {} \; >> /dev/null
echo "success!" exit 0
# -------------------------------------计划任务----------------------------------------- [root@localhost mysqldump]# crontab -l # mysqldump_backup 00 01 * * * /backup/mysqldump/mysqldump_backup.sh >> /backup/mysqldump/logs/mysqldump.log 2>&1
注意:需要开启binlog |