mysql 自动备份发送,Centos定时自动备份MySQL数据库并发送至指定邮箱

在Centos中使用Cron定时自动备份mysql数据库并通过Mutt发送到指定Gmail邮箱,利用Gmail垃圾邮件策略实现定时删除

{ No.1 编写Shell 文件 }

// Path /root/eeBakcupShell/backup-email-mysql-data.sh

#!/bin/sh

d=`date "+%Y-%m-%d"`

#当前的日期格式:年-月-日

t="yiilib.com_$d"

#发送邮件的title,我把正文跟标题写成一样的了

FP=/root/dbBackup/

#文件临时存放地址, 最后会删除

mysql -e "show databases;" -uroot -ppassword | grep -Ev "Database|information_schema|mysql|test" | xargs mysqldump -uroot -ppassword --skip-lock-tables --databases | gzip > $FP$FName.sql.gz

#这里使用了备份数据库挑选策略,列举全部数据库名称,去掉不需要备份的名称Database|information_schema|mysql|test,余下的都会备份,同时使用gzip进行压缩

echo "backup files"|mutt -s "backup tmp $t" yiilib.com@gmail.com -a $FP$FName.sql.gz

#用mutt发送邮件到 yiilib.com@gmail.com

rm -rf $FP$FName.sql.gz

#删除.gz文件,节约空间

exit

#退出脚本

{ No.2 测试 }

/root/eeBakcupShell/backup-email-mysql-data.sh, 如果一切正常邮箱里已经有了邮件了,有可能在垃圾邮件箱

如果报错/bin/sh^M: bad interpreter: No such file or directory, 进行如下修改

vi /root/eeBakcupShell/backup-email-mysql-data.sh

:set ff //这里会显示 fileformat=dos

:set ff=unix //修改成unix即可

:wq //保存退出

{ No.3 设置Cron 定时任务 }

# crontab -e

//保存结果到log目录,方便查看错误

15 03 * * * /root/eeBakcupShell/backup-email-mysql-data.sh > /log/eelog.log

{ No.4 利用Gmail垃圾邮件策略定时删除 }

Gmail的垃圾邮件策略会在30天后自动删除垃圾邮件,所以当你发现备份邮件出现在垃圾邮件箱请不用担心,这个策略正是我们所需要的。

{ No.5 非垃圾邮件设置 }

如果你需要保存较长的保存时间,比如说保存60天内的备份邮件,那么你需要通过配置让Gmail知道备份邮件非垃圾邮件。但这样也会出现一个问题,介于邮箱容量有限目前是(15G), 你需要定期手动删除邮件。

设置方法如下:

0. 打开Gmail网站并登录你的账号

1. 设置

2. 过滤器和屏蔽的地址

3. 创建新的过滤器

3.1 包含字词 : 'backup' //subject keywords

3.2 带有附件 : 是

3.3 根据此搜索条件创建过滤器

3.4 不要将其发送至“垃圾邮件” : yes

3.5 创建过滤器

3.x 设置其他选项如果有需要

{ 相关链接 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值