简介
自己平常用的一个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.sqlif [ $? -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.comfi
crontab -e :
30 1 * * * /root/backmysql.sh
效果
auto_backup.log
内容:
开始执行备份:2016-11-30_14:35:39结束执行备份:2016-11-30_14:37:09
邮件