> 数据库 > MySQL >

mysql 自动备份发邮件 到指定邮箱

首先 编写 导出的 命令

使用了

mysqladmin ping

mysqldump



然后是 添加附件到邮件中发送

使用了对应的com



最后 暂停 看情况



参考:

http://hi.baidu.com/zd8695/blog/item/ae50b21c4b398a8087d6b6ac.html

见程序:

@echo on
:: MySQL 目录 以及对应的盘符 和当前bat文件所在的盘符 和路径
set MYSQL_HOME=H:\wamp\bin\mysql\mysql5.5.16\bin
set MYSQL_DIR=H:
set EXECUTE_DIR=C:
set EXECUTE_HOME=C:\Users\fartpig\Desktop

:: 邮箱 账号 密码
set EMAIL_ACCOUNT=******@126.com
set EMAIL_PASS=******


echo start





echo save path

echo %cd%
set CURRENT_DIR=%cd%

echo export sql
%MYSQL_DIR%
cd %MYSQL_HOME%

echo try mysql
mysqladmin ping

mysqldump -u root -proot plane >plane.sql


echo send mail
%EXECUTE_DIR%
cd %CURRENT_DIR%
start %EXECUTE_HOME%\mail.vbs %EMAIL_ACCOUNT% %EMAIL_PASS% %MYSQL_HOME%/plane.sql

echo send success
pause



相应的 对应的 mail.vbs



function Send_mail(You_Account,You_Password,Send_Email,Send_Email2,Send_Topic,Send_Body,Send_Attachment)
'code by NetPatch Changed by ZD8695
'VBS发送邮件参数说明
'You_Account:你的邮件帐号
'You_Password:你的邮件密码
'Send_Email:
'主要邮件地址
'Send_Email2: 备用邮件地址
'Send_Topic:
'邮件主题
'Send_Body:
'邮件内容
'Send_Attachment:邮件附件
You_ID=Split(You_Account, "@", -1, vbTextCompare)
'帐号和服务器分离
MS_Space = "http://schemas.microsoft.com/cdo/configuration/"
'这个是必须要的,不过可以放心的事,不会通过微软发送邮件
Set Email = CreateObject("CDO.Message")
Email.From = You_Account
'这个一定要和发送邮件的帐号一样
Email.To = Send_Email
'主要邮件地址
If Send_Email2 <> "" Then
Email.CC = Send_Email2
'备用邮件地址
End If
Email.Subject = Send_Topic
'邮件主题
Email.Textbody = Send_Body
'邮件内容
If Send_Attachment <> "" Then
Email.AddAttachment Send_Attachment
'邮件附件
End If
With Email.Configuration.Fields
.Item(MS_Space&"sendusing") = 2
'发信端口
.Item(MS_Space&"smtpserver") = "smtp."&You_ID(1)
'SMTP服务器地址
.Item(MS_Space&"smtpserverport") = 25
'SMTP服务器端口
.Item(MS_Space&"smtpauthenticate") = 1
'cdobasec
.Item(MS_Space&"sendusername") = You_ID(0)
'你的邮件帐号
.Item(MS_Space&"sendpassword") = You_Password
'你的邮件密码
.Update
End With
Email.Send
'发送邮件
Set Email=Nothing
'关闭组件
Send_Mail=True
'如果没有任何错误信息,则表示发送成功,否则发送失败
If Err Then
Err.Clear
Send_Mail=False
End If
End Function


If Send_Mail(wscript.arguments(0), wscript.arguments(1),wscript.arguments(0),"","数据库plane备份","看附件",wscript.arguments(2))=True Then
Wscript.Echo "发送成功"
Else
Wscript.Echo "发送失败"
End If







注: 使用可以修改相应的 注释中的内容 其中包括了四个参数 和两个 邮箱相关的

bat的目录和盘符

mail.vbs的目录和盘符



以及最后你的发邮箱的 地址和密码 , 也可以修改代码 发送到其他邮箱 注意 126的已经好用,不排除一些其他邮箱。。


(责任编辑:IT)