mysql 自动备份发邮件 到指定邮箱
时间:2016-06-04 01:32 来源:linux.it.net.cn 作者:IT
首先 编写 导出的 命令
使用了
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)
首先 编写 导出的 命令 使用了 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) |