1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > mysql 自动备份发送 Centos定时自动备份MySQL数据库并发送至指定邮箱

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

时间:2024-08-08 13:27:48

相关推荐

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="_$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" @ -a $FP$FName.sql.gz

#用mutt发送邮件到 @

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 设置其他选项如果有需要

{ 相关链接 }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。