我使用AU3语言写的exe程序,大家可以下载au3把我的语句粘贴上并编译,当然也可以直接用。~另外不上图了,这程序没有交互界面。这个东西网上很多人都是用bat+win定时任务做的,但是我不太会bat就用au3做了一个,没有技术含量,不过可让人省点事罢了。使用方法:把exe文件设置到计划任务中,亲测在计算机锁定的情况下可以运行。工作原理:停止mysql服务拷贝文件夹A到文件夹B压缩文件夹B内容后删除文件夹B开启mysql服务值得一提的是这个程序可以用更改*.ini文件的方法做到备份自定义个文件夹。没做删除,因为我的数据库不大。等有时间在做吧。程序代码:
#region ;**** 参数创建于 ACNWrapper_GUI ****
#PRE_Outfile=D:\sqlbak\dirong\mysqlbak.exe
#PRE_UseUpx=n
#endregion ;**** 参数创建于 ACNWrapper_GUI ****
#include
$s = @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC;设定时间
$var = IniReadSectionNames(@ScriptDir & "\config.ini");轮巡ini文件
RunWait(@ComSpec & " /c " & "net stop mysql");关闭mySQL数据库
If @error Then
MsgBox(4096, "", "发生错误,可能目标文件并非标准的INI文件.")
Else
For $i = 1 To $var[0]
$duan = $var[$i]
If $duan <> "winrar存放目录" Then
bak($duan, $s)
EndIf
Next
EndIf
RunWait(@ComSpec & " /c " & "net start mysql");打开mySQL数据库
Func bak($duan, $s);备份并且压缩
$c1 = IniRead(@ScriptDir & "\config.ini", $duan, "目标目录", "ini配置信息读取错误")
$c2 = IniRead(@ScriptDir & "\config.ini", $duan, "备份文件存放目录", "ini配置信息读取错误")
DirCopy($c1, $c2 & "\" & $s, 1);拷贝数据库要备份的文件夹
$rar = IniRead(@ScriptDir & "\config.ini", "winrar存放目录", "目录", "ini配置信息读取错误")
RunWait($rar&" a -k -r -s -df " & $c2 & "\" & $s & " " & $c2 & "\" & $s);进行rar压缩操作
EndFunc ;==>bak
ini文件内容案例:
[winrar存放目录]
目录=c:\Program Files\winrar\winrar.exe
[dirong]
目标目录=D:\mysqldata\dir
备份文件存放目录=D:\sqlbak\dir
[mysql]
目标目录=d:\mysqldata\mysql
备份文件存放目录=D:\sqlbak\mysql