MYSQL自动备份并发送邮件工具

Posted mylover2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL自动备份并发送邮件工具相关的知识,希望对你有一定的参考价值。

最近在开发小程序,由于服务器只有一台,所以不能数据库异机备份,出于数据安全的考虑,就做了一个数据库定时备份并发送邮件到自己的邮箱的小工具,先看下工具界面

技术图片

这个工具主要涉及到三个部分

1.mysql自动备份

2.发送邮件

3.定时任务

MYSQL备份可以通过调用mysqldump命令从而来进行备份,这里提供一个命令大全:https://www.jb51.net/article/135724.htm

这里因为工具运行在服务器,所以连接ip和端口就默认为localhost和3306,直接上代码

发送邮件部分使用的就是微软自带的基础库,配置stmp服务商域名,和你的邮箱账号,发送邮件授权码。

?

定时任务部分使用Quartz.net,写一个任务类挂在调度器下,不间断运行,时间和自己设置的时分秒一致时执行任务,任务所需要的数据库,邮件等信息可以通过JobDataMap传递,看下简单代码

?

同时该小工具也通过notifyIcon组件达到可以缩小化至提示栏中防止误操作关闭。

项目地址:https://gitee.com/grassprogramming/DataBaseBackUpUtil

?

更新20181220 修复问题

1.因为服务器厂商默认屏蔽25端口,所以需要使用ssl加密465端口发送,但是System.Net.Mail不支持ssl,所以要换成System.Web.Mail下的类进行发送,代码如下

2.Quartz.Net原来是不间断运行判断时间点,但发现可能导致时间精度不够,换成CronSchedule的日历表达式方式

3.使用c#的Process执行cmd命令,默认异步执行,我们需要加入完成事件,在完成事件后执行发送邮件操作

以上是关于MYSQL自动备份并发送邮件工具的主要内容,如果未能解决你的问题,请参考以下文章

mysql自动备份数据库并发送邮件

使用Navicat定时备份mysql数据库和创建报表并邮件自动发送

使用Navicat定时备份mysql数据库和创建报表并邮件自动发送

python备份mysql数据库并发送邮件

mysql5.6备份脚本并发送邮件

MySQLdump备份并发送邮件