灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2549回复:0

[mysql]每天自动备份mysql数据库并发送到Email

楼主#
更多 发布于:2011-10-17 13:46

每天自动备份Mysql数据库的脚本,并且自动发送到你指定的邮箱面,这样vpser再也不会为丢失数据烦恼啦。

mysqldump -uuser -ppassword –databases db1 db2 db3 > /home/website/backups/databackup.sql
tar zcf /home/website/backups/databackup.sql.tar.gz /home/website/backups/
echo “主题:数据库备份” | mutt -a /home/website/backups/databackup.sql.tar.gz -s “内容:数据库备份” www@gmail.com
rm -r /home/website/backups/*

将上面的代码保存为automysqlbackup.sh
然后利用crontab 实现自动备份,在ssh下运行,

crontab -e

输入以下内容:

00 00 * * * /home/website/automysqlbackup.sh

这样就实现了每天00:00自动备份mysql数据库并发送到Email
简单的说明下吧:
第一句是一次性备份多个数据库,这个要你用root权限的用户才可以的..-u后面的是数据库用户名 -p后面的是数据库密码 无需空格 db1 db2 db3为你需要备份的数据库名。
如果你的数据库用户名没有root这个权限,可以改为这样

mysqldump -uuser -ppassword db1 > /home/website/backups/db1.sql
mysqldump -uuser -ppassword db2 > /home/website/backups/db1.sql
mysqldump -uuser -ppassword db3 > /home/website/backups/db1.sql

第二句是将 backups 文件夹里面的数据文件压缩为文件名:databackup.sql.tar.gz
第三句是将压缩了的数据库文件发送到指定的邮箱…..
其中的主题:数据库备份,就是邮件的主题,内容:数据库备份,就是邮件的内用,
/home/website/backups/databackup.sql.tar.gz 为附件
www@gmail.com为要发送的Email

喜欢0 评分0
游客

返回顶部