Linux备份MySQL-通过邮件自动发送到指定邮箱

2014-11-24 17:43:01 · 作者: · 浏览: 1

1.所需要软件


mutt Linux下命令行邮件工具,可用来接收和发送邮件


sendmail/postfix Linux下邮件服务器,所有邮件通过本机发送出去


mysqldump 备份MySQL数据库的程序


2.mutt参数介绍


-a 附件


-s 主题


例子:


echo "你好,祝你愉快!" | mutt -a /etc/passwd -s "Linux发送带附件的邮件" cc2@cc2.cc


说明:echo打印的内容为邮件正文,发送密码文件passwd到邮箱cc2@cc2.cc


3.脚本


测试备份的数据库名:


scriptdev2 realmd mmfpm mangos characters


查看数据库使用的字符集


show variables like "char%";


utf8


建立备份脚本


vi /root/send-mysql-data.sh


#!/bin/bash


#Power by hugwww 2009-4-11


#set time format


date=`date -d "%m"date -d today +"%Y-%m-%d-%H:%M"`


echo $date


#定义数组


db_array=(scriptdev2 realmd mmfpm characters mangos)


#取数组无元素个数


lenArray=${#db_array[@]}


#循环列出数组元素


i=0


while [ $i -lt $lenArray ]


do


#执行备份


mysqldump -uroot -ppassw0rd --default-character-set=utf8 --opt --extended-insert=false \


--triggers -R --hex-blob -x ${db_array[$i]} > /opt/db-backup/everyday/${db_array[$i]}-$date.sql;


# echo ${db_array[$i]}


let i++


done


#将所有SQL文件压缩到一个文件


tar cvzf /opt/db-backup/mysql-data-$date.tar.gz /opt/db-backup/everyday/*$date.sql


#发送备份文件到邮箱


echo "$date 数据库备份文件" | mutt -a /opt/db-backup/mysql-data-$date.tar.gz -s "mangos数据库备份" cc2@cc2.cc


echo "$date 备份成功并发送到指定邮箱" >> /opt/db-backup/backup.log


exit


完成