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
内容:
开始执行备份:2016-11-30_14:35:39 结束执行备份:2016-11-30_14:37:09