定时备份mysql数据库并发送至邮箱

2011年02月22日 Linux服务器 评论 12 条 阅读 34,183 views 次

1、创建备份文件夹

mkdir /backup

2、备份mysql数据库

mysqldump --opt -uusername -ppassword databasename > /backup/mysql.sql
-u后紧跟数据库用户名
-p后紧跟数据库密码
databasename为需要备份的数据库名
/backup/mysql.sql为备份的数据库全路径


3、打包压缩数据库

cd /
tar zcf /backup/mysql.tar.gz backup/mysql.sql

注:tar源文件必需是相对的路径,如果用绝对的路径的话,会出现“tar: Removing leading `/' from member names”这样的提示,所以我先进入根目录,然后执行压缩。

4、通过mutt发送附件到邮箱

echo "your database backup" | mutt yufei@opsers.org -a /backup/mysql.tar.gz -s "your mysql backup"

mutt yufei@opsers.org < /root/mailmessage.txt -s "your mysql backup" -a /backup/mysql.tar.gz 

注:
以上两种方法可以根据自己的情况来选择
-s "your mysql backup" -s后面的是邮件的标题
-a /backup/mysql.tar.gz -a后面的是发送的附件
yufei@opsers.org 表示要发送的目标
/root/mailmessage.txt 表示读取mailmessage.txt当作邮件正文内容
echo "your database backup" 把“your database backup”当作邮件正文内容
还有一个重点:必需有sendmail或postfix这两个服务的支持,这个是发送邮件的哦!此外,如果你不是在服务器上做的测试,有可能是很多邮箱把你当成了垃圾邮件直接过滤掉了!我在VM上用QQ邮箱做的测试,结果把我发来的邮件当成了垃圾邮件,而gmail/sina/163我都收不到邮件。
mutt

5、如果你想做成计划任务的话,就写个脚本吧,然后在crontab中定期执行。这个可以根据自己的情况来写了。我想有了上面的介绍,写个脚本也不是难事!留给大家自己来写了!

12 条留言  访客:7 条  博主:5 条

  1. 嘿嘿,VPS???
    还没用过mutt这个命令…学习学习!!!

  2. 不错!数据是非常重要的!

  3. 这个我用过,耗流量的,呵呵 :)

  4. 前几天研究了一下mutt的文档,自己也搞定了。早知道看你博客就不用那么麻烦了。

  5. 兄弟,能和你做友情链接吗?刚在百度搜索MYSQL备份发邮箱,看到你的!

给我留言

Copyright © 羽飞博客 保留所有权利.   Ality主题 皖ICP备14013844号-1

用户登录