# Robocopy: uno strumento Windows affidabile per backup sicuri

Robocopy fa parte della **configurazione standard di Windows** sin dall’uscita di Windows Vista. Lo strumento è molto apprezzato dagli amministratori di sistema e dai professionisti dell’informatica per la sua robustezza e affidabilità. I progetti di replica, considerati troppo ingombranti per altri strumenti o risultanti in messaggi di errore, possono essere solitamente **completati con successo** tramite l’utilizzo di Robocopy su Windows 10.

## Cos’è Robocopy?

Robocopy è uno strumento di Windows specializzato in processi di replica e backup. Il programma è gestito attraverso l’utilizzo di **comandi e parametri speciali** inseriti direttamente nel [prompt dei comandi](https://www.ionos.it/digitalguide/server/know-how/comandi-cmd/ "Comandi CMD") di Windows. Sebbene sia più adatto a un pubblico esperto, gli utenti di Windows meno ferrati possono comunque utilizzare un software di interfaccia grafica per Robocopy. Uno di questi software è [RoboMirror](https://sourceforge.net/projects/robomirror/ "Download di RoboMirror su SourceForge.net"), lo strumento gratuito di GUI.

Robocopy è il **più versatile** tra gli strumenti di replica nativi di Windows, seguito da xcopy e copy. Grazie ai suoi **72 parametri**, lascia poco a desiderare e può gestire praticamente qualsiasi backup. Il programma può anche creare [backup incrementali](https://www.ionos.it/digitalguide/server/sicurezza/che-cose-un-backup/ "Che cos’è un backup?") i quali effettuano solo dei backup delle modifiche recenti piuttosto che dei backup completi. Questo metodo salva spazio riducendo lo sforzo sulla larghezza di banda e altre risorse durante i backup sia sul cloud che in rete.

Consiglio Per un backup sicuro e automatico sul cloud potete utilizzare il [servizio professionale Cloud Backup](https://www.ionos.it/cloud/backup-cloud "Cloud Backup: software di backup con 5 TB gratis il primo mese") di IONOS e usufruire di un accesso conveniente con uno spazio cloud abbondante!

Lo strumento può anche **riflettere intere strutture di directory** con un codice relativamente corto, cioè può includere sottodirectory in operazioni di replica e backup. Queste caratteristiche basate sul codice agiscono come un grande **supplemento ad altre routine di backup**, che possono concentrarsi, ad esempio, su un’[immagine di sistema di Windows 10](https://www.ionos.it/digitalguide/server/configurazione/windows-10-eseguire-il-backup/ "Windows 10: eseguire il backup"). Inoltre, Robocopy può anche agire come supplemento o alternativa a [rsync](https://www.ionos.it/digitalguide/server/tools-o-strumenti/fare-il-backup-del-server-con-rsync/ "Fare il backup del server con rsync") per il backup dei server.

Le varie caratteristiche e la flessibilità dei backup con Robocopy richiedono una certa **curva di apprendimento**. Anche utilizzando uno strumento GUI, i principianti dovranno spendere un po’ di tempo per acquisire familiarità con il programma prima di poter eseguire dei backup efficienti e sfruttare tutto il potenziale di Robocopy su Windows 10. Tuttavia, quando si tratta di semplici operazioni di replica, anche i principianti possono usufruire del programma in modo relativamente rapido grazie a una **chiara sintassi dei comandi**. Sia che l’operazione sia semplice o complessa è necessario utilizzare Robocopy con cautela poiché si corre sempre il rischio che i file vengano accidentalmente cancellati o sovrascritti.

## Sintassi di comando per i backup con Robocopy

Come avviene per tutti gli strumenti operanti sulla riga di comando su Windows 10, anche Robocopy richiede una sintassi speciale dei comandi per poter adempiere a certi compiti. Una struttura di base tipica si presenta come riportato di seguito:

```none
robocopy <source> <destination> [<file>[...]] [<options>]</options></file></destination>
```

Il parametro “source” è necessario per il percorso alla directory di origine. Il percorso della directory di destinazione è definito dal parametro “destination”. Il parametro “file” è invece relativo al file che sarà replicato e permette di utilizzare dei **segnaposto**. Se si inserisce \*.\* invece del nome concreto del file, verranno replicati tutti i file nella directory di origine (escluse le sottodirectory). Se invece si vuole includere tutti i file di un **certo tipo di file**, è possibile combinare l’asterisco con il suffisso desiderato. Dunque, se si vogliono replicare tutti i documenti Word (e solo i documenti Word), la sintassi necessaria è la seguente:

```none
robocopy <source directory> <target directory> *.docx</target>
```

Il comando di replica può essere ampliato con **ulteriori opzioni** aggiunte alla fine. È possibile, ad esempio, definire quante volte un tentativo di replica deve essere ripetuto finché non è completo. Anche il tempo tra questi tentativi può essere definito. Questi parametri contribuiscono significativamente alla versatilità e alla robustezza dello strumento e rappresentano un grande miglioramento rispetto a Esplora risorse che non offre la possibilità di intervenire e spesso interrompe le operazioni di replica più complesse senza un motivo apparente.

## I comandi più importanti di Robocopy

Di seguito troverete una panoramica dei comandi e delle opzioni più importanti per eseguire dei backup con Robocopy relativamente semplici. Nella sezione successiva invece vi mostreremo come implementare questi comandi usando degli esempi.

<table>
  <thead>
    <tr>
      <th></th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>/COPY:copyflag\[s\]</td>
      <td>Replica le proprietà del file – impostazione standard: /COPY:DAT- D: Dati- S: Informazioni sulla sicurezza (accesso NTFS per le liste di controllo)- A: Attributi- O: Proprietario dell’informazione- T: Marca temporale- U: Informazioni di revisione (monitoraggio NTFS dell’accesso ai file)</td>
    </tr>
    <tr>
      <td>/COPYALL</td>
      <td>Replica l’informazione di tutto il file (alternativa a COPY:DATSOU)</td>
    </tr>
    <tr>
      <td>/NOCOPY</td>
      <td>L’informazione del file non viene replicata (spesso utilizzato in combinazione con /PURGE)</td>
    </tr>
    <tr>
      <td>/PURGE</td>
      <td>Elimina file e directory nella directory di destinazione se non sono più esistenti nella directory d’origine</td>
    </tr>
    <tr>
      <td>/MIR</td>
      <td>Rispecchia una struttura di directory (equivalente alla combinazione /E + /PURGE)</td>
    </tr>
    <tr>
      <td>/MON:n</td>
      <td>Robocopy viene eseguito di nuovo dopo un numero n di modifiche (operazione in background per i backup automatici)</td>
    </tr>
    <tr>
      <td>/MOT:n</td>
      <td>Robocopy viene eseguito di nuovo dopo n minuti (operazione in background per i backup automatici)</td>
    </tr>
    <tr>
      <td>/RH:hhmm-hhmm</td>
      <td>Definisce un intervallo di tempo in cui Robocopy è attivo</td>
    </tr>
    <tr>
      <td>/XF</td>
      <td>Esclude certi tipi di file</td>
    </tr>
    <tr>
      <td>/XD</td>
      <td>Esclude certi tipi di directory</td>
    </tr>
    <tr>
      <td>/R:n</td>
      <td>Definisce il numero di tentativi per operazioni di replica fallite (impostazione standard: 1.000.000)</td>
    </tr>
    <tr>
      <td>/W:n</td>
      <td>Definisce il tempo di attesa tra i tentativi in secondi. L’impostazione standard è 30 (ovvero un tempo di attesa di 30 secondi prima del prossimo tentativo di replica)</td>
    </tr>
    <tr>
      <td>/L</td>
      <td>Elenca i file di backup (esecuzione del test, il backup non verrà eseguito)</td>
    </tr>
    <tr>
      <td>/LOG:</td>
      <td>Registra lo stato in un nuovo file di log per ogni processo di backup o sincronizzazione</td>
    </tr>
    <tr>
      <td>/LOG+:</td>
      <td>Aggiunge lo stato al file di log esistente</td>
    </tr>
    <tr>
      <td>/TEE</td>
      <td>Emette informazioni sullo schermo e nel file di log</td>
    </tr>
    <tr>
      <td>/MOV</td>
      <td>I file vengono spostati e cancellati dalla directory di origine dopo la replica</td>
    </tr>
    <tr>
      <td>/MOVE</td>
      <td>I file e le directory vengono spostati e cancellati dalla directory di origine dopo la replica</td>
    </tr>
    <tr>
      <td>robocopy /?</td>
      <td>Apre la guida d’aiuto di Robocopy nel prompt dei comandi</td>
    </tr>
  </tbody>
</table>

## Come aprire Robocopy

Robocopy viene utilizzato attraverso il **prompt dei comandi di Windows** (cmd.exe). Per arrivare al prompt dei comandi bisognerà aprire la finestra di dialogo “Esegui” di Windows 10:

1. Fate clic sui tasti \[WIN\] + \[R\]
2. Digitate “cmd” nel campo di ricerca
3. Selezionate “OK”

A questo punto si aprirà il prompt dei comandi nel quale sarà possibile inserire la sintassi dei comandi per i backup con Robocopy e le operazioni di replica.

## Come creare dei backup con Robocopy

Robocopy è ideale per le routine di backup quotidiane. In questa sezione, vi mostriamo come impostare parametri e opzioni e forniamo esempi del codice necessario per effettuare tali routine.

### Mirror delle directory

Una delle opzioni più utilizzate su Robocopy per Windows 10 è la funzione di **mirroring** (/MIR), la quale crea un backup completo della directory di origine:

```none
robocopy C:\Users\Maria\Desktop\test T:\ /MIR
```

In questo esempio, **l’intera directory di origine** (denominata “test”) sarà replicata nell’unità di destinazione (T:\\), comprese tutte le sottodirectory (anche quelle vuote). La directory di origine si trova sul desktop del profilo utente attualmente attivo (in questo caso, il profilo appartenente a Maria).

### Verifica preventiva tramite test di prova

Se volete testare quali file il comando mirror cattura e la presenza o meno di errori, potete aggiungere il parametro /L. La riga di comando documenterà il processo e mostrerà eventuali errori, senza creare una replica.

```none
robocopy C:\Users\Maria\Desktop\test T:\ /MIR /L
```

### Controllo perfezionato dei backup con Robocopy

Per un **controllo perfezionato** del backup con Robocopy, è possibile definire il numero di tentativi di replica (R:3 sta per tre tentativi) e il tempo di attesa tra i tentativi (W:2 sta per 2 secondi). Inoltre, è possibile creare un file che tiene traccia dei backup:

```none
robocopy C:\Users\Maria\Desktop\test T:\ /MIR /R:3 /W:2 /LOG+:Z:\LogFiles\logfile.log
```

In questo esempio, il protocollo delle operazioni di replica (logfile.log) sarà creato nella directory denominata “LogFiles”. È importante notare che **la directory log deve già esistere**, altrimenti il processo di replica verrà interrotto.

Qualora si vogliano escludere certi file o tipi di file, si dovrà utilizzare il parametro /XF (abbreviazione per “eXclude file” ovvero “escludere file”):

```none
robocopy C:\Users\Maria\Desktop\test T:\ /MIR /XF *.docx
```

Intere directory possono essere escluse attraverso l’opzione XD (abbreviazione per “eXclude directory” ovvero “escludere directory”). Poiché la directory in questione, “My Documents”, contiene uno spazio tra i due termini, viene messa tra virgolette:

```none
robocopy C:\Users\Maria\Desktop\test T:\ /MIR /XD “My Documents”
```

N.B. Affinché le operazioni di replica con Robocopy di Windows 10 funzionino, è necessario indicare percorsi precisi. Se una qualsiasi parte del percorso contiene spazi, il percorso deve essere messo tra virgolette.

Le operazioni su Robocopy posso essere ancora più precise. È possibile mirare a degli attributi specifici nei file per l’inclusione o l’esclusione degli stessi. Questo viene effettuato attraverso l’opzione /COPY:copyflag\[s\]. Robocopy usa il comando /COPY:DAT come predefinito per il backup dei contenuti dei file (D = dati), degli attributi come ad esempio quelli di sola lettura o nascosti (A = attributi) e della marca temporale (T = timestamp). La marca temporale contiene informazioni sulla data di creazione, la data di modifica e l’ultima data di accesso. Queste informazioni sono essenziali per i **backup incrementali** poiché dovrebbero essere applicati solo a file e directory modificati di recente. Un altro parametro è S (= security o sicurezza), che trasferisce i permessi di accesso NTFS.

**L’esclusione di singoli flag di replica** può aiutare, ad esempio, quando certi permessi di sicurezza non sono impostati correttamente nel sistema di destinazione, portando a operazioni di replica fallite o incomplete. In questo caso, è possibile evitare di usare il flag di replica S. Includere il flag A può, ad esempio, replicare attributi di sola lettura sulle copie di backup. Se volete trasferire il contenuto del file, gli attributi e la marca temporale, il codice sarà il seguente:

```none
robocopy C:\Users\Maria\Desktop\test T:\ /MIR /COPY:DAT
```

Robocopy è anche molto utile quando si vuole procedere a un backup per gradi, utilizzando il parametro /Z, specialmente quando si tratta di processi di backup lunghi. Infatti, anche se riavviato, Robocopy **riprenderà da dove ha lasciato**. Per questa ragione, l’interruzione ripetuta di un processo non costituisce un problema. Questo metodo risparmia tempo e risorse poiché evita che file di grandi dimensioni debbano essere sottoposti nuovamente a un processo di backup, ricominciando da capo.

### Automatizzare i backup con Robocopy

Un vantaggio di Robocopy è che i backup possono essere eseguiti tramite [file batch](https://www.ionos.it/digitalguide/server/tools-o-strumenti/creare-un-file-batch/ "Creare un file batch"). È infatti possibile creare uno script batch sul desktop e avviarlo con un clic del mouse, oppure posizionarlo nella **directory di autostart** di Windows per eseguire un backup ad ogni avvio del sistema. Per arrivare alla cartella di autostart, digitate la parola “[Autostart](https://www.ionos.it/digitalguide/server/configurazione/esecuzione-automatica-in-windows-11/ "Esecuzione automatica in Windows 11")” su Esplora risorse e premete Invio. In alternativa, potete anche aprire la finestra “Esegui” con \[Windows\] + \[R\] e inserire lì il comando “shell:startup” e cliccare su “OK”. Potrete trascinare il file batch nella directory usando il mouse. Anche **una replica del file batch** o un link di collegamento saranno utili a questo scopo.

Un altro metodo per automatizzare i backup è la **funzione monitor** di Robocopy, che può monitorare permanentemente una directory di origine. Se vengono effettuate delle modifiche, queste saranno automaticamente sottoposte a backup. Robocopy può anche essere impostato per essere eseguito in base a una pianificazione personale (ad esempio, una volta all’ora) o in un momento specifico (ad esempio, alle 18:00). È anche possibile impostare il monitoraggio con l’opzione /MON:n (backup attivato dopo *n* numero di modifiche) o /MOT:n (backup attivato dopo *n* numero di minuti). /RH:hhmm-hhmm è usato per specifici intervalli di tempo. /MON e /MOT possono anche essere combinati:

```none
robocopy C:\Users\Maria\Desktop\test T:\ /MIR /R:3 /W:4 /LOG+:Z:\LogFiles\logfile.log /MON:1 /MOT:25
```

In questo esempio, Robocopy eseguirà un backup dopo 25 minuti, se è stata fatta almeno una modifica. I cambiamenti sono registrati nel file di log. Se non si inserisce un orario specifico, Robocopy utilizzerà l’impostazione predefinita per il **controllo automatico della directory** (controllo e, se necessario, backup dopo un minuto). Se volete dare un’occhiata più da vicino alle attività di Robocopy, ad esempio prima di iniziare un nuovo backup, potete usare /TEE per visualizzare il log sullo schermo nel prompt dei comandi.

N.B. L’attività costante in background può mettere a dura prova le vostre risorse, ad esempio se i file di grandi dimensioni vengono frequentemente trasferiti in rete o nel cloud. Siate cauti con le automazioni e pensate bene ai cicli di aggiornamento e di backup. È una buona idea **controllare regolarmente la directory di backup**, specialmente all’inizio di una nuova operazione di backup. In questo modo potete essere sicuri del buon funzionamento di Robocopy e controllare che backup non necessari, indesiderati o con errori non vengano eseguiti in background.


This is a markdown version of: [https://www.ionos.it/digitalguide/server/tools-o-strumenti/backup-con-robocopy/](https://www.ionos.it/digitalguide/server/tools-o-strumenti/backup-con-robocopy/) for AI/LLM consumption.