简介
自己平常用的一个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备份通知" aahanzi@163.com
fi
crontab -e :
30 1 * * * /root/backmysql.sh
效果
auto_backup.log
内容:
开始执行备份:2016-11-30_14:35:39
结束执行备份:2016-11-30_14:37:09
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。