Autore Topic: [Risolto] Procedura di backup  (Letto 695 volte)

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
[Risolto] Procedura di backup
« il: 12 Settembre 2011, 09:16:42 »
Mi piacerebbe che un programma avesse la possibilità di copiare la sua cartella (in formato compresso) in una cartella di destinazione a scopo di backup, senza farlo io materialmente. Qualcuno di voi ha codice già fatto? Si utilizza compress? Ho visto che compress utilizza stream ma non l'ho mai utilizzato.

grazie...come al solito
« Ultima modifica: 14 Settembre 2011, 13:07:08 da andy60 »

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Procedura di backup
« Risposta #1 il: 12 Settembre 2011, 13:25:59 »
complimenti per la voglia di utilizzare gli strumenti di gambas, ma non puoi utilizzare un comando shell ?

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Procedura di backup
« Risposta #2 il: 12 Settembre 2011, 13:48:33 »
complimenti per la voglia di utilizzare gli strumenti di gambas, ma non puoi utilizzare un comando shell ?

grazzzzzie per i complimenti. L'idea era questa, dato che nei miei programmi metto di solito una form relativa alle opzioni..volevo mettere in questa form il checkbox 'backup e comprimi all'uscita' con un text box di dove dovevano essere salvati i dati (tipicamente dropbox).

con la shell o a mano si puo' fare, mi sembrava meglio farlo dentro il programma, mi piacerebbe distribuirlo completo con tutte le opzioni

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Procedura di backup
« Risposta #3 il: 12 Settembre 2011, 13:49:13 »
Esatto...

In effetti potresti usare la libreria Script di Gambas, altrimenti basterebbe un paio di comandi inseriti nella crontab per fare il backup di todos quello che vuoi.

Codice di esempio:
Codice: [Seleziona]
tar -czvf /path/destinazione/file.tar.gz /directory/sorgenti | tee -a /tmp/backup.log

Una riga del genere, inserita nella crontab utente (comando "crontab -e"), inserendo un periodo di tempo utile (esempio di notte), ti permette in modo semplice di salvare un'intera directory (o più d'una), comprimendola in un file tar.gz indovevuoi... (es. un disco usb esterno...).
Andando a scacciavitare un pochino, aggiungendo qualcosa, potresti anche valutare alcune altre cosette, sempre se ti serve...
Alternativa, puoi comunque lanciarlo a mano, se non hai il computer sempre acceso...

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Procedura di backup
« Risposta #4 il: 12 Settembre 2011, 13:56:39 »
Ops... sono arrivato 2...

Diversamente da quanto capito dal tuo primo msg, ti serve un modo per salvare una qualsiasi cosa all'uscita di un tuo qualsiasi programma.

Bene, questo dipende da cosa vuoi salvare. Quello che non ho ben compreso è cosa vuoi salvare. Se è roba esterna (es. file), hai due alternative:
- usare Compress di Gambas
- usare Exec per eseguire uno script di shell.
In tutti e due i casi la scelta è dipendente da tue scelte personali e da considerazioni logiche (es. usare solo Gambas senza mischiare altri linguaggi).
E' sottinteso che la velocità di esecuzione sarà maggiore con uno script, ma il vantaggio viene perso da Exec per gli accessi al sistema.

Insomma, vedi tu... Fai delle prove, dopotutto sono abbastanza veloci da fare...

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Procedura di backup
« Risposta #5 il: 12 Settembre 2011, 14:01:02 »
@mdxxxx

database sottostante: se è posizionato da subito su dropbox non serve backupparlo...mi viene da pensare solo riguardo le prestazioni

mi veniva da pensare di backuppare l'intera cartella del programma, naturalmente zippata...con il controllo compress....manco a dirlo non so farlo ad oggi, mi ci devo mettere..

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Procedura di backup
« Risposta #6 il: 14 Settembre 2011, 13:06:20 »
risolto con:

Codice: [Seleziona]
If hset["host/backup_on"] = -1 Then
  mybackup = Shell ("tar czf " & hset["host/backup"] & "myZone4-" & Application.Version & ".tar.gz " & Application.Path & "/") 
  Message("Backup effettuato con successo.")
Endif