Gambas-it

Gambas3 => Programmazione => Topic aperto da: dex - 13 Aprile 2012, 01:00:25

Titolo: [risolto]Shell file zippati vuoti
Inserito da: dex - 13 Aprile 2012, 01:00:25
ciao raga

nel mio programma mi creo delle copie di backup del database con il seguente comando:
Citazione
Shell ("mysqldump -u " & myuser & " -p" & mypassword & " --opt " & mynomedb & " > " & mypath & "/" & myfile)

fin qui tutto ok, mi crea il file .sql, poi devo zipparlo per inviarlo tramite e-mail e uso il seguente comando:
Citazione
Shell "bzip2 " & mypath & "/" & myfile

qui mi crea un file zippato vuoto
Titolo: Re: Shell file zippati vuoti
Inserito da: Ceskho - 13 Aprile 2012, 10:29:27
Ha controllato che il percorso sia giusto? stampati il comando esploso nel terminale e vedi se è giusto....
Titolo: Re: Shell file zippati vuoti
Inserito da: dex - 13 Aprile 2012, 11:49:20
Ciao ceskho
ho risolto, in pratica dovevo mettere un wait fra le due shell, bzip2 di default tende a cancellare il file di origine e succedeva questo:
la prima shell cominciava a creare il file la seconda lo comprimeva e lo cancellava anche se la prima shell non aveva completato il file.
Titolo: Re: [risolto]Shell file zippati vuoti
Inserito da: fsurfing - 13 Aprile 2012, 12:24:38
più che tra le due shell ti conviene mettere il wait al fondo della riga del dump
Codice: [Seleziona]
Shell "mysqldump -u " & myuser & " -p" & mypassword & " --opt " & mynomedb & " > " & mypath & "/" & myfile WAIT

questo perchè il tempo che impiega a fare il dump può anche essere notevole e variabile .

considerando però che così facendo, se il tempo per il dump è piuttosto lungo(db molto grande) avrai un freeze della gui, sarebbe quindi più adatto gestire il comando per il dump tramite un processo , quando tale processo finisce avvii il secondo comando per la compressione , senza avere nessun freeze
Titolo: Re: [risolto]Shell file zippati vuoti
Inserito da: dex - 13 Aprile 2012, 15:09:45
più che tra le due shell ti conviene mettere il wait al fondo della riga del dump
Codice: [Seleziona]
Shell "mysqldump -u " & myuser & " -p" & mypassword & " --opt " & mynomedb & " > " & mypath & "/" & myfile WAIT

questo perchè il tempo che impiega a fare il dump può anche essere notevole e variabile .

considerando però che così facendo, se il tempo per il dump è piuttosto lungo(db molto grande) avrai un freeze della gui, sarebbe quindi più adatto gestire il comando per il dump tramite un processo , quando tale processo finisce avvii il secondo comando per la compressione , senza avere nessun freeze

buona idea, ma come si fà a gestire il processo? mi serve un piccolo aiutino, anche perchè per ora i file sono sui 2/3 mb ma tenderanno a crescere con l'uso del database.
Titolo: Re: [risolto]Shell file zippati vuoti
Inserito da: Ceskho - 13 Aprile 2012, 15:43:55
Basta cercare....è una delle cose più discusse sul forum  ;)
Titolo: Re: [risolto]Shell file zippati vuoti
Inserito da: md9327 - 16 Aprile 2012, 13:55:28
Puoi usare anche gzip, concatenando tramite una pipe tutte e due i processi (estrazione e compressione) in un singolo comando shell...