Backup delle mailbox Exchange con ExMerge

Uno dei grossi problemi di Exchange è quello del restore: mantenendo tutte le mailbox in un unico database di svariati GB, il backup risulta essere altrettanto pesante.

Quando si tratta di fare il restore del sistema, si parla sempre e comunque di ore di lavoro, in quanto non è possibile ripristinare solo il sistema di base e poi, con calma recuperare le email. A meno che non si utilizzino costosi software di backup (BackupExec, Arcserve per dirne un paio) il recupero di singole email è un’operazione veramente snervante: bisogna recuperare TUTTO il database in un archivio apposito, per poi selezionare le email da recuperare (e va anche bene, prima di Exchange 2003 si doveva ricreare il dominio Active Directory in un ambiente protetto, creare gli utenti, installare Exchange, recuperare il db… bah!)

ExMerge è un’utility che Microsoft ha creato per estrarre i messaggi da Exchange su file .pst. I file .pst sono gli archivi della posta di MS Outlook, quindi è possibile aprirli da questo software e recuperare facilmente le email dai backup.

Anche se ExMerge non è nato come strumento di backup da utilizzare quotidianamente, è molto utile per questo scopo: al “solo” costo del raddoppio dello spazio occupato per i backup (quello generale del db di exchange + quello delle singole mailbox) abbiamo una estrema flessibilità di recupero; in pratica, utilizzando questo strumento con gli script che vi mostro, si ottiene un file .pst per ogni anno/utente.

I file PST creati non possono essere più grandi di circa 2GB (a causa di limitazioni del formato .pst antecedente a Outlook 2003), quindi è indispensabile spezzare temporalmente le mailbox: se spezzarle annualmente non è sufficiente, si può fare anche per periodi minori.

Per le istruzioni di installazione fate riferimento a questa ottima guida.

Ora, per avere il sistema di backup basato su exmerge ci serve:

  • EXMERGE di Microsoft;
  • EMERGEINI di Alexander Zammit;
  • BLAT per l’invio di email;
  • i miei vbscript lancia_exmerge e exmerge; ho scelto di separare lo script in due per poter reindirizzare tutto l’output di exmerge.vbs su file, e inviare poi il log all’amministratore;

Installazione

L’installazione di tutte le componenti è molto “manuale”, e richiede anche la modifica degli script forniti:

  • create la cartella c:scriptexmerge e installateci ExMerge. Devono essere presenti almeno i file exmerge.exe e exmerge.ini;
  • Copiateci anche blat.exe, exmergeini.exe, exmerge.vbs e lancia_exmerge.vbs
  • modificate il file exmerge.ini per impostare il vostro server exchange (SourceServerName e DomainControllerForSourceServer) e la lingua (LocalisedExchangeServerServiceName)
  • modificate il file lancia_exmerge.vbs, inserendo i valori appropriati:
    'inviare un'email con blat
    cmd = "blat.exe "
    cmd = cmd & " -to destinatario@prova.it" <-- email dell'amministratore
    cmd = cmd & " -server 192.168.0.12" <-- server di posta
    cmd = cmd & " -f backup@prova.it" <-- email del mittente
    cmd = cmd & " -debug -log blat.log"
    cmd = cmd & " -attach exmerge.log -attach lancia_exmerge.log"
    cmd = cmd & " -subject ""Backup EXMERGE"""
    cmd = cmd & " -body ""Log di backup in allegato"""
  • modificate il file exmerge.vbs, inserendo i valori appropriati:servercondivisione in cui vengono salvati i file pst:
    disco_destinazione = "\BACKUPEXCHANGEEXMERGE"

    percorso di destinazione; qui crea una copia (LUN-MER-VEN)
    per i giorni dispari ed una (MAR-GIO-SAB) per quelli pari, e aggiunge la
    cartella per l’anno in fondo:

    select case WeekDay(now)
       case 1,3,5
          pathdestinazione = disco_destinazione & "LUN-MER-VEN" & anno
       case 2,4,6
          pathdestinazione = disco_destinazione & "MAR-GIO-SAB" & anno
    end select

    usa exmergeini per definire il periodo da salvare, scrivendoli nel file exmerge.ini;
    lavorando su questi due comandi, è possibile anche definire periodi più brevi

    esegui "ExMergeIni.exe SelectMessageStartDate ""01/01/" & right(anno,2) & "  00:00:00"" -f .ExMerge.ini"
    esegui "ExMergeIni.exe SelectMessageEndDate ""12/31/" & right(anno,2) & "  23:59:59"" -f .ExMerge.ini"
  • Come ultima cosa, impostate un’operazione pianificata che esegua “lancia_backup.vbs” quotidianamente; mi raccomando di non eseguire questa procedura come administrator, perché non ha i permessi (anzi ha permessi esplicitamente negati) per accedere alle mailbox degli utenti; utilizzate quindi l’utente “exmerge” come è stato suggerito nella guida di installazione segnalata precedentemente.
About the Author

Leave a Reply