Come posso realizzare velocemente un BackUp dei dati ? (Documento scaduto)

Come modo posso realizzare velocemente un BackUp dei dati ?


Per effettuare un backup dei dati di IGSuite occorre agire su più fronti. Infatti oltre ai dati gestiti generalmente dal DB ci sono:

  • Le cartelle di sistema degli utenti con vari dati (Messaggi Email in formato originale) e impostazioni personali.
  • I file delle foto degli utenti e delle attrezzature;
  • I template (versione file) delle pagine wiki
  • I Repository dei file (quelli che si collegano ai contatti agli eventi etc).
  • L'intero albero dei file dei documenti protocollati (Lettere, Offerte, Fax etc)
  • L'interno albero dei file di IGFile


Dall'elenco sembrerebbe che il lavoro di backup sia molto esteso ma in realtà tutte le voci sopra riportate sono raccolte in sole due directory: Quella specificata in $htdocs_dir all'interno del file di configurazione di IGSuite (igsuite.conf); e quella in $cgi_dir (la directory dove sono installati gli script cgi di IGSuite).

Per un backup basta quindi:

  • Effettuare un backup dei dati del database (vedi sezioni sotto)
  • Copiare il contenuto delle directory $htdocs_dir e $cgi_dir


E' ovvio che un backup dei dati oltre a mettere al sicuro i dati e i file gestiti dalla Suite offre anche la possibilità di poterli "spostare" in ambienti diversi o su server diversi. Ad esempio è possibile spostare dei dati da una versione per Windows di IGSuite ad una versione per Linux (chiaramente di una release almeno superiore se non uguale).

N.B. E' consigliabile in seguito ad un ripristino dei dati lanciare sempre lo script "mkstruct.pl" presente all'interno dei cgi.


Backup dei dati nel DB con MySQL

MySQL mette a disposizione due programmi mysqlhotcopy e mysqldump.

mysqlhotcopy è uno script, scritto in linguaggio Perl, che, basandosi sul comando cp, effettua la copia "grezza" di un database, semplicemente copiando il contenuto della relativa directory dati, in un altro luogo sullo stesso sistema. La sua caratteristica principale è la velocità. Esempio:

iguser@igserver# mysqlhotcopy isogest /isogestdb-bk/


In questo esempio il contenuto del database 'isogest' viene copiato nella directory /isogestdb-bk

mysqldump è un'utility che presenta alcuni vantaggi rispetto a mysqlhotcopy, e quindi è maggiormente utilizzata. Essa genera un file ASCII contentente istruzioni SQL (CREATE TABLE, CREATE DATABASE ecc.) che permettono di ricreare completamente un database. Questo metodo permette di utilizzare lo script su qualsiasi piattaforma, ottenendo quindi una soluzione portabile. La seconda importante caratteristica è la flessibilità, modificando lo script prodotto, è possibile il ripristino anche di una sola tabella. Infine mysqldump permette di effetture il dump di un database da remoto. Esempio:

guser@igserver# mysqldump isogest> isogest_dump_db.sql -u root -p
Enter password: nostrapassword


Viene eseguito il dump del database isogest generando le relative instruzioni nel file isogest_dump_db.sql. E' necessario comunicare a mysqldump che si utilizzerà l'utente amministratore -u root con la relativa password -p

Backup dei dati nel DB con PostgresSQL

pg_dump (o pgdump) è una utility molto simile a mysqldump, crea un file di script contenente le istruzioni per il restore del database. Esempio:

iguser@igserver# pg_dump isogest > isogest.pgdump

Viene eseguito il dump del database isogest generando le relative instruzioni nel file isogest.pgdump.