最近在开发小程序,由于服务器只有一台,所以不能数据库异机备份,出于数据安全的考虑,就做了一个数据库定时备份并发送邮件到自己的邮箱的小工具,先看下工具界面
这个工具主要涉及到三个部分
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命令,默认异步执行,我们需要加入完成事件,在完成事件后执行发送邮件操作
原文地址:https://www.cnblogs.com/mylover2/p/11015825.html