Script di backup Robocopy v2

15 novembre 2012

Versione aggiornata e corretta dello script Robocopy segnalato anni fa.

Differenze sostanziali:

  • utilizza una piccola utility esterna (DateX) per recuperare il nome del giorno della settimana (da mettere in \windows o altro percorso presente nella PATH). In questo modo ho una sola operazione da pianificare e non sette passando come parametro il nome della cartella in cui salvare;
  • non ne ho ancora capito il motivo ma Robocopy si impunta se la sorgente è la root di un disco (es. D:). La soluzione è spostarsi nella root del disco stesso prima di lanciare il comando. Ovviamente se dovete salvare una cartella non è necessario farlo (si possono rimuovere le righe 27-29).;
  • la rimozione degli attributi system e hidden serve per le versioni di Robocopy incluse in Windows 7 e Server 2008 (forse anche Vista).
:: Estrae il giorno in formato AAAAMMGG per il nome del file di log
@For /F "tokens=1,2,3 delims=/ " %%A in ('Date /t') do @(
Set Giorno=%%A
Set Mese=%%B
Set Anno=%%C
Set Data=%%C%%B%%A
)

:: Estrae il nome del giorno della settimana sfruttando un'utility
:: Fonte: http://www.westmesatech.com/sst.html
for /f %%d in ('datex -f ddd') do set GiornoSettimana=%%d

Set Sorgente=d:
Set Destinazione=x:\robocopy\%GiornoSettimana%
Set FileLog=x:\registro\Backup%Data%.log

:: /MIR mirror, elimina i file in destinazione
:: /XD esclude una cartella
:: /XJ esclude junction points
:: /R:2 /W:5 attende 10 secondi e riprova 2 volte se la copia fallisce (default 30 secondi, 1 milione)
:: /V verbose output
:: /NP disattiva percentuale di progresso
:: /FFT FAT File Time (2-second granularity)
:: /LOG specifica la posizione del log (default schermo)

Set Opzioni=/MIR /XJ /R:2 /W:5 /V /NP /FFT /LOG:%FileLog%

:: Facendo la copia di una root (es. D:), mi sposto prima di lanciare robocopy
cd %Sorgente%\
%Sorgente%
Robocopy "%Sorgente%" "%Destinazione%" %Opzioni%

attrib -s -h "%Destinazione%"

4 commenti/trackback a “Script di backup Robocopy v2”

  1. theo scrive:

    Visto che siamo in vena di confidenze 😀 e nel caso potesse servirti.. su win 2003 uso
    robocopy.exe /MIR /SEC /ZB /R:2 /W:15 /LOG:F:\Robocopy\robocopy_%_my_datetime%.log /TEE

    poi siccome la versione 010 che c’è a bordo non supporta l’opzione secfix e se rilanci un po’ di volte il comando potrebbe bersi le security, all’ultimo giro uso:

    robocopy.exe /E /Copy:S /IS /IT /V /R:2 /W:15 /LOG:F:\Robocopy\robocopy_%_my_datetime%.log /TEE

    Che rispalma le sole security

    http://blogs.technet.com/b/filecab/archive/2008/07/31/robocopy-mir-switch-mirroring-file-permissions.aspx

  2. flod scrive:

    Grazie Matteo, ne terrò sicuramente conto, anche se per fortuna al 99% dei miei clienti non sfruttano nemmeno le security (sono finti server) 😉

  3. Marco scrive:

    Visto che siamo in tema di backup approfitto per chiederti/vi un parere su Cobian Backup. Mi sembra un buon programma ma ogni tanto trovo qualche sgradita sorpresa (leggi: backup non eseguito) in particolare utilizzando il servizio Shadow Copy e comincio ad avere dei dubbi sulla sua affidabilità

  4. flod scrive:

    L’ho visto usare da un paio di clienti ma non mi ha mai convinto del tutto. Il vantaggio di Robocopy è che è assolutamente trasparente e non devi installare nulla con una macchina più recente di XP/2003.

    Nota a margine: proprio l’altro giorno ho notato un problemino con il backup su alcuni dischi di rete (tutto il contenuto veniva visto come nuovo). Risolto aggiungendo il parametro /FFT

Trackback e pingback

  1. Nessun trackback o pingback disponibile per questo articolo

Non è possibile inserire nuovi commenti. I commenti vengono disattivati automaticamente dopo 60 giorni.