Della possibilità di utilizzare Robocopy per il backup di file e cartelle abbiamo spesso parlato. Professionisti e aziende che non avessero ancora adottato strumenti di backup centralizzati, possono sfruttare l’utilità Robocopy per copiare rapidamente qualunque file all’interno della rete locale, ad esempio su un server NAS. L’importante è che il dispositivo di destinazione utilizzi il versioning ovvero sia in grado di mantenere memorizzate più versioni degli stessi file. In questo modo è possibile annullare le ultime modifiche apportate a un file e “tornare indietro nel tempo”.
Ne abbiamo parlato nell’articolo Backup, le migliori strategie per proteggere i dati.
Nello stesso articolo abbiamo visto come sia possibile usare Robocopy non soltanto per copiare file e cartelle da un sistema all’altro ma anche per sincronizzare i dati. Il vantaggio è che Robocopy è integrato in Windows ed è quindi immediatamente utilizzabile.
Per copiare rapidamente file e cartelle in rete locale basta, innanzi tutto, annotarsi il nome del dispositivo in uso. Per procedere in tal senso basta premere la combinazione di tasti Windows+R
quindi digitare sysdm.cpl
e leggere quanto riportato accanto alla voce Nome completo computer.
In alternativa, per leggere il nome del PC, basta aprire il prompt dei comandi e digitare ping localhost
. Il nome del dispositivo apparirà in bella vista a destra di Esecuzione di Ping.
A questo punto, seguendo le indicazioni riportate nell’articolo Autorizzazioni cartelle condivise in Windows: come gestirle, è possibile condividere una cartella in rete locale e permettervi l’accesso usando un account utente autorizzato.
Da un altro PC collegato in rete locale si potrà usare la sintassi seguente per copiare tutti i file e le cartelle contenuti nella cartella ORIGINE
.
Al posto di C:\ORIGINE
si possono anche usare variabili d’ambiente come %userprofile%
per fare riferimento alla cartella del profilo utente correntemente utilizzato.
Ad esempio, digitando quanto segue verrà copiato nel sistema SERVER-01
collegato in rete locale tutto il contenuto della cartella Documenti dell’account utente in uso:
La cartella di destinazione (in questo caso \BACKUP
) può essere o non essere esistente ma si debbono comunque possedere le autorizzazioni necessarie per accedervi e salvarvi file.
Al posto di \BACKUP
, sulla cartella condivisa (a patto di possedere le necessarie autorizzazioni), è possibile specificare il nome di una nuova cartella che non esiste sul sistema di destinazione.
Attenzione alla copia di cartelle contenenti file di sistema nascosti .INI: se fosse utilizzata la direttiva .ShellClassInfo
al loro interno, ci si troverà con delle cartelle che in Esplora file appaiono in un certo modo e da prompt dei comandi in un altro. In altre parole il nome in Esplora file può essere diverso rispetto a quello che appare a livello di file system.
Se si volesse visualizzare il contenuto di una simile cartella dal prompt dei comandi bisognerà aprirlo con i diritti amministrativi (digitare cmd
nella casella di ricerca di Windows quindi premere CTRL+MAIUSC+INVIO
), accedere alla cartella che contiene la directory con i file copiati da Robocopy e digitare rd NOMECARTELLA /s /q
.
Ovviamente è possibile fare in modo che sia il sistema locale a leggere da una cartella condivisa in rete locale. Il comando seguente, per esempio, copierà i file contenuti nella cartella SORGENTE
sul sistema SERVER-01
e li salverà nella cartella locale %userprofile%\Documents\backup
(di solito C:\Users\Documents\backup
).
Il parametro più importante è forse /MT
perché permette a Robocopy di usare più thread per le operazioni di copia dei file. Anziché copiare i file uno alla volta come avviene con Esplora file, ovvero con i comandi standard dell’interfaccia, è possibile far sì che Robocopy gestisca contemporaneamente più operazioni di copia dei file. L’impostazione di default è pari a 8 thread (nell’esempio abbiamo specificato 16) ma è possibile arrivare fino a 128 anche se viene sconsigliato per via delle maggiori richieste in termini di risorse macchina e di banda.