自动备份MySQL数据库并发送邮件的SHELL脚本

zyjj 2019-06-21

简介

自己平常用的一个shell脚本,起自动备份mysql中所有数据库作用,在任务执行完成后,会记录日志和自动发送邮件到邮箱。

配合crontab可以实现每天自动备份。

代码

backmysql.sh:

#!/bin/bash
#日期格式
file=`date +%Y-%m-%d_%H:%M:%S`
#文件目录
filedir=/root/mysqlautobackup/

#记录开始时间
start=`date +%Y-%m-%d_%H:%M:%S`
echo -e "开始执行备份:$start" >> $filedir/auto_backup.log

#数据库信息
name="root"
pawd="数据库密码"
#执行备份
/root/webserver/mysql/bin/mysqldump --all-databases -u$name -p$pawd > $filedir/mysql$file.sql

if [ $? -eq 0 ]
then

#记录结束时间
end=`date +%Y-%m-%d_%H:%M:%S`
echo -e "结束执行备份:$end\n" >> $filedir/auto_backup.log

#发送通知邮件
echo -e "数据库备份完成!\n开始时间:$start\n结束时间:$end" | /bin/mail -s "MySQL备份通知" [email protected]

fi

crontab -e :

30 1 * * * /root/backmysql.sh

效果

auto_backup.log

内容:

开始执行备份:2016-11-30_14:35:39
结束执行备份:2016-11-30_14:37:09

邮件

自动备份MySQL数据库并发送邮件的SHELL脚本

相关推荐