设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย french

搜索
热搜: 活动 交友 discuz

发个WINDOWS下用Email附件备份数据VBS脚本 [复制链接]
查看:145 | 回复:11

12

主题

224

回帖

510

积分

高级会员

积分
510
发表于 2010-10-6 19:42:50 | 显示全部楼层 |阅读模式
前几天有个哥们Windows下的MYSQL数据库被未知生物袭击了
清空了所有的内容 然后删除了所有的库
用数据恢复软件恢复出来的 都是空表
那哥们可是欲哭无泪啊...

然后就让我帮忙搞个备份功能....
记得论坛里发过一个Linux下用邮箱附件备份数据的软件 就想照这功能写个Win下的
本人不才 没学过VBScript 不当之处 欢迎指出
是先先rar打包 再发送
压缩包里的rar.exe 可以在您的WinRAR根目录里找到.. 当前貌似3.93版[ol]
  • '-----------------------------------------------------------------------------------
  • '应用程序配置项↓
  • '-----------------------------------------------------------------------------------
  • '数据库目录 (目录均以"" 结尾)
  • Const MySqlDataDir = "C:\Users\Neta\Desktop\Data"
  • '备份数据库目录
  • Const MySqlBackupDir = "C:\Users\Neta\Desktop"
  • 'RAR压缩程序文件路径
  • Const RarExePath = "rar.exe"
  • '发件邮箱
  • Const EmailFrom = "send@qq.com"
  • '收件邮箱 推荐网易邮箱
  • Const EmailTo = "receive@163.com"
  • 'SMTP地址
  • Const SmtpServer = "smtp.qq.com"
  • 'SMTP端口
  • Const SmtpServerPort = 25
  • 'SMTP发信登陆帐号
  • Const SendUserName = "send@qq.com"
  • 'SMTP发信登陆密码
  • Const SendPassWord = "password"
  • '发送完毕是否删除备份数据文件 true | false
  • Const DeleteFile = true
  • '单个附件大小 单位为MB
  • Const AttachmentSize = 30
  • '---------------------------------------------------------------------------------------
  • '其他说明: 当执行RAR压缩的时候 会出现一个命令行窗口 显示压缩过程 请勿关闭!
  • '---------------------------------------------------------------------------------------
  • backupDateTime = now()
  • backupFileName = GetName(backupDateTime)
  • attach = MySqlBackupDir & backupFileName & ".rar"
  • '开始备份
  • Set WshShell = CreateObject("WScript.Shell")
  • Set fso = CreateObject("Scripting.FileSystemObject")
  • WshShell.run RarExePath & " a -ibck " & attach & " " & MySqlDataDir,,true
  • Set backupFile = fso.GetFile(attach)
  • '判断附件大小 如果超过AttachmentSize  则进行分卷打包
  • IF backupFile.Size > AttachmentSize * 1024 * 1024 Then
  •   '计算分卷打包文件个数
  •   TotalFile = GetInteger(backupFile.Size / (AttachmentSize * 1024 * 1024))
  •   
  •   '重新取得文件打包时间
  •   backupDateTime = now()
  •   backupFileName = GetName(backupDateTime)
  •   
  •   '开始分卷打包
  •   WshShell.run RarExePath & " a -v" & AttachmentSize & "m -ibck " & MySqlBackupDir & backupFileName & " " & attach,,true
  •   
  •   '删除初次打包的文件
  •   Call DelFile(attach)
  •   
  •   '发送分卷
  •   For P = 1 To TotalFile
  •     attach = MySqlBackupDir & backupFileName & ".part" & P & ".rar"
  •     Call SendMail(attach,backupDateTime)
  •   Next
  •   
  • Else
  •   Call SendMail(attach,backupDateTime)
  • End IF
  • Set WshShell = Nothing
  • Set fso = Nothing
  • Function GetName(time)
  •         GetName = Replace(Replace(Replace(time, "/", "-"), " ", "-"), ":", "-")
  • End Function
  • Function GetInteger(number)
  •         GetInteger = int(number)
  •         IF GetInteger 复制代码
    [ 本帖最后由 Neta 于 2010-10-6 19:44 编辑 ]
  • 273

    主题

    4215

    回帖

    9359

    积分

    论坛元老

    积分
    9359
    发表于 2010-10-6 19:44:14 | 显示全部楼层
    不错。。。

    12

    主题

    224

    回帖

    510

    积分

    高级会员

    积分
    510
     楼主| 发表于 2010-10-6 19:45:46 | 显示全部楼层


      usa 真是极速 我还没编辑完沙发就没了...

    142

    主题

    2133

    回帖

    4774

    积分

    论坛元老

    积分
    4774
    发表于 2010-10-6 19:47:55 | 显示全部楼层
    好帖还是要支持支持

    3

    主题

    321

    回帖

    695

    积分

    高级会员

    积分
    695
    发表于 2010-10-6 19:53:17 | 显示全部楼层
    支持一下

    79

    主题

    300

    回帖

    899

    积分

    高级会员

    积分
    899
    发表于 2010-10-6 20:37:12 | 显示全部楼层
    支持一下!

    0

    主题

    70

    回帖

    156

    积分

    注册会员

    积分
    156
    发表于 2010-10-6 20:39:55 | 显示全部楼层
    不错。收藏一个!

    129

    主题

    8761

    回帖

    1万

    积分

    论坛元老

    积分
    18007
    发表于 2010-10-6 20:51:06 | 显示全部楼层
    好贴,要给分。

    177

    主题

    3746

    回帖

    8147

    积分

    论坛元老

    积分
    8147
    发表于 2010-10-7 16:13:21 | 显示全部楼层
    WScript.Shell
    必须开着,有一定安全风险

    12

    主题

    224

    回帖

    510

    积分

    高级会员

    积分
    510
     楼主| 发表于 2010-10-7 16:14:07 | 显示全部楼层
    支持好东西收藏了

    不过在win下如果bat能解决的我更喜欢用bat
    嘿嘿
    您需要登录后才可以回帖 登录 | 立即注册

    论坛客服/商务合作/投诉举报:2171544 (QQ)
    落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
    拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
    落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
    © 2001-2014

    浙公网安备 33060302000191号

    浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

      落伍法律顾问: ITlaw-庄毅雄

    Archiver|手机版|Discuz! X

    GMT+8, 2026-6-14 08:39 , Processed in 0.017098 second(s), 3 queries , Gzip On, Redis On.

    返回顶部