BACKUP MYSQL
Open [Ô]backup.bat[Ô] For Output As #1
Print #1, [Ô]cd [Ô] & Chr(34) & [Ô]C:\FBG Systems[Ô] & Chr(34)
varsegundalinha = [Ô]mysqldump [Ô] & dsConfig!nomebd & [Ô] > [Ô] & Chr(34) & txtCaminho & Chr(34) & [Ô]\database[Ô] & Format(Date, [Ô]dd-mm-yyyy[Ô]) & [Ô]-[Ô] & Format(Time, [Ô]hh-mm[Ô]) & [Ô].sql -h [Ô] & servidor & [Ô] -u root -p[Ô] & password & [Ô][Ô]
Print #1, varsegundalinha
[ô]Print #1, [Ô]pause[Ô]
Close #1
[ô]Sleep (1000)
[ô]Shell varsegundalinha
[ô]Call ShellExecute(hWnd, [Ô]Open[Ô], App.Path & [Ô]\backup.bat[Ô], [Ô][Ô], App.Path, 1)
Shell App.Path & [Ô]\backup.bat[Ô], vbHide
Timer1.Enabled = True
No timer eu pus uma rotina pra verificar se o cmd ainda esta rodando
If AppIsRunning([Ô]cmd.exe[Ô]) = False Then
Kill ([Ô]backup.bat[Ô])
MsgBox [Ô]Backup realizado com sucesso![Ô], vbInformation, [Ô]ATENÇÃO![Ô]
Timer1.Enabled = False
End If
Em um módulo:
Option Explicit
Private Const TH32CS_SNAPPROCESS As Long = 2
Private Const MAX_PATH As Long = 260
Private Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szExeFile As String * MAX_PATH
End Type
Private Declare Function CreateToolhelp32Snapshot Lib [Ô]Kernel32[Ô] (ByVal lFlags As Long, _
ByVal lProcessID As Long) As Long
Private Declare Function Process32First Lib [Ô]Kernel32[Ô] (ByVal hSnapShot As Long, _
typProcess As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib [Ô]Kernel32[Ô] (ByVal hSnapShot As Long, _
typProcess As PROCESSENTRY32) As Long
Private Declare Sub CloseHandle Lib [Ô]Kernel32[Ô] (ByVal hPass As Long)
Public Function AppIsRunning(ByVal AppName As String) As Boolean
Dim Process As PROCESSENTRY32
Dim hSnapShot As Long
Dim r As Long
AppName = LCase$(AppName)
hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
If hSnapShot <> -1 Then
Process.dwSize = Len(Process)
r = Process32First(hSnapShot, Process)
Do While r
If LCase$(Left$(Process.szExeFile, InStr(1, Process.szExeFile, vbNullChar) - 1)) = AppName Then
AppIsRunning = True
r = False
End If
r = Process32Next(hSnapShot, Process)
Loop
CloseHandle hSnapShot
End If
End Function
Comigo da certo. Mas pra fazer nos terminais voce precisa escolher uma pasta e copiar o mysqldump la. No servidor da certo se o mysqldump estiver no path do sistema
esses dias eu postei uma resposta pra um colega nosso com o mesmo problema seu
http://www.vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=447231&pagina=1
só que ele tem o vb.net
talvez possa te ajudar
e seja feliz.. ^^
Citação::
Galera me ajuda aÃ. Tenho uma aplicação com um db mysql de 1Gb junto com o programa e o cliente está querendo backup dos dados pois é a segunda vez que perde parcialmente os dados. Quando vou fazer o backup uso o mysqlfront mas não posso ficar indo no estabelecimento sempre. Queria fazer via vb6 mesmo. Pra restaurar e backup. Todos os exemplos que vi aqui não funcionou ou é lento. Demorou muito. alguém pode me ajudar a fazer um já que migrei fax pouco tempo pro mysql e não manjo muito. Desde já agradeço.
So uma dica, tenho uma loja onde instalei o meu sistema e ela tinha menos movimento que as outras e reparei que o banco em mysql tava mais um pouco que 1 gb as outra lojas em torno 250mb, fiz copia do banco, e reinstalei o mysql, e importei os dados, de mais de 1 gb, caiu para 300mb
Citação::
:
Galera me ajuda aÃ. Tenho uma aplicação com um db mysql de 1Gb junto com o programa e o cliente está querendo backup dos dados pois é a segunda vez que perde parcialmente os dados. Quando vou fazer o backup uso o mysqlfront mas não posso ficar indo no estabelecimento sempre. Queria fazer via vb6 mesmo. Pra restaurar e backup. Todos os exemplos que vi aqui não funcionou ou é lento. Demorou muito. alguém pode me ajudar a fazer um já que migrei fax pouco tempo pro mysql e não manjo muito. Desde já agradeço.
So uma dica, tenho uma loja onde instalei o meu sistema e ela tinha menos movimento que as outras e reparei que o banco em mysql tava mais um pouco que 1 gb as outra lojas em torno 250mb, fiz copia do banco, e reinstalei o mysql, e importei os dados, de mais de 1 gb, caiu para 300mb
resolvendo problema de tamanho ibdata1 http://wiki.adilson.net.br/linux/banco-de-dados/mysql/tamanho-do-ibdata1
Tem uma versão Gratuita que é para até dois banco de dados
E uma versão paga que é para inúmeras funcionalidades e não é muito caro