Andrea Beggi

If I'm free, it's because I'm always running.

Usare Robocopy

A T T E N Z I O N E ! Questo post ha piu' di sei mesi. Le informazioni contenute potrebbero non essere aggiornate.

Robocopy è uno strumento da riga di comando per copiare e sincronizzare. Si usa per ottenere copie di files o di una struttura di cartelle, anche attraverso la rete locale; permette di fare copie incrementali e/o di impostare condizioni.
E’ incluso nel Resource Kit di Windows, liberamente scaricabile da qui.
La copia viene effettuata solo se i file di origine e destinazione sono diversi, in modo da risparmiare tempo e banda, il che è molto utile se si sta replicando attraverso una connessione di rete.
Gli switch supportati dal comando sono moltissimi, e vi rimando alla documentazione allegata.
La cosa più utile, a mio avviso, è la possibilità di copiare mantenendo inalterate le ACL (i permessi utente) dei files ed i dati di auditing, il che è fondamentale nel caso di backup di dati residenti su server ed appartenenti a più utenti. Supporta i percorsi UNC, così non si è costretti a mappare le unità prima della copia.

Ad esempio il comando:
ROBOCOPY source destination /MIR /SEC
clona la struttura di cartelle mantenendo i permessi ed i dati di auditing, se li avete.
(Attenzione, lo switch /MIR cancella i files da destination, se non esistono più in source!!)

Update: ho dimenticato di dire che il Resource Kit non si installa se non avete XP o 2003. Però l’eseguibile di robocopy dovrebbe funzionare anche con altri sistemi. Al momento non posso provare.

48 Commenti

Ettorre (G.) | #

Scusa la domanda ma non conoscendo lo strumento preferisco chiedere prima di cimentarmi.
Ho letto che: Supported Operating Systems: Windows Server 2003; Windows XP

E’ supportato anche Windows 2000 server?

Ciao

Andrea | #

Dovrebbe funzionare anche con 2000 e NT4, a quanto ne so.

Ettorre (G.) | #

Grazie.
Lo provo allora e poi Ti so dire. Se mi “esplode” il server so chi cercare 🙂
Ciao.

Ettorre (G.) | #

Funziona solo con Xp, lo richiede quando si installa.

Ho cercato in rete ed ho trovato ROBOCOPY v 1.96 per NT e Win2000. Sembra funzionare 🙂
Grazie Andrea, mi hai segnalato un utility che non conoscevo e che mi sarà senz’altro utile.
Spero di aver usato il comando correttamente:

set logpath=G:\Backup_Day
set logfilename=logbackup_%a%%m%%g%%.txt
set logfilepath=%logpath%%logfilename%

robocopy Y:\ G:\Backup_Day\dati_%a%%m%%g%% /R:1 /W:1 /MIR /V /ETA /NP /LOG+:%logfilepath%

theo | #

La versione per windows di rsync non ti permette di fare le stesse cose (anche se più lentamente?)

bomby | #

Robocopy funziona con tutti i sistemi windows la versione del resource kit richiede xp per molti tool ma non per questo lo utilizzo da anni con successo la versione attuale è compatibile con tutte le NTFS

estragon | #

una sorta di automator per windows..

Robbie the Robot | #

Grazie della segnalazione, per le mie esigenze è di una comodità mostruosa!
Io lo sto usando su di un win2k server senza problemi.
Non c’è bisogno di installare il resource kit, ne di avere winxp: basta aprire il file “rktools.exe” con 7-zip (credo vada bene anche qualsiasi altro programma di decompressione), estrarre il file rktools.msi, aprirlo nuovamente con il 7-zip, e da lì estrarre tutti i files che ci interessano! 🙂

erwin | #

Ciao ho provato il batch, funziona tutto ma non capisco come mai non mi mantiene la permission sugli utenti, avete qualche dritta da darmi?
grazie e complimenti ^^

Giuseppe | #

Ciao,
uso Robocopy da annin con molta soddisfazione,
ti volevo chiedere se ti è mai capitato di dover copiare un disco intero e di non riuscirci perchè nel disco è presente la cartella di sistema :” System Volume Information”
Ho provato ad escluderla.. “c:\robocopy /MIR /secfix e:\ Z:\PC_Lavoro\e /log+:c:\logbk\e\e.log /XD e:\System~1 /S”
ma non ci riesco. Hai qualche suggerimento??
ciao

domenico | #

Ciao,
Attualmente uso pkzip per effettuare il backup,non riesco ha ad associare la data di creazione del backup nel nome nel file.zip
es.nome file + data crazione
pippo19/07/2006.zip
Hai qualche suggerimento?
grazie

domenico | #

Ciao,
Attualmente uso pkzip per effettuare il backup,non riesco ha ad associare la data di creazione del backup nel nome nel file.zip
es.nome file + data crazione
pippo19/07/2006.zip
Hai qualche suggerimento?
grazie

Giuseppe | #

Ciao,
uso Robocopy da annin con molta soddisfazione,
ti volevo chiedere se ti è mai capitato di dover copiare un disco intero e di non riuscirci perchè nel disco è presente la cartella di sistema :” System Volume Information”
Ho provato ad escluderla.. “c:\robocopy /MIR /secfix e:\ Z:\PC_Lavoro\e /log+:c:\logbk\e\e.log /XD e:\System~1 /S”
ma non ci riesco. Hai qualche suggerimento??
ciao

pippo | #

Un aiutino….. PROVA A FARE
C:\>robocopy C:\Documents and Settings\Admin\Documenti\ e:\ /MIR

MA SEMBRA, VEDI ERRORE QUA SOTTO, NON PIACERGLI LOSPAZIO NEL NOME DELLA DIRECTORY….

Started : Sun Oct 08 18:02:39 2006

Source – C:\Documents\
Dest – C:\Programmi\Windows Resource Kits\Tools\and\

ERROR : Invalid Parameter #3 : “Settings\Admin\Documenti\”

COSA DEVO FARE???? HO GIà PROVATO A SOSTITUIRLO CON %… MA NON VA….

QUALCUNO MI AIUTA????? GRAZIE FIN DA SUBITO 🙂

Andrea | #

Basta mettere il path completo tra virgolette ed il gioco è fatto….

pippo | #

Andrea….. GRAZIE. Comunque anche per i non esperti come me, è proprio comodo. Finalmente elimino il backup di W XP che ho sempre trovato scomodissimo e poco efficiente.

ale | #

DOMANDA: E’ possibile usando l’opzione /MIR (mirroring), evitare di cancellare i file destinazione che non esistono?
Ciao e grazie!

Paul | #

Ciao Andrea,

E’ supportato anche Windows 2003 R2 server?

Fabio | #

Ciao Andrea
MI sono approcciato da poco a questa utilissima utility, mi sapresti indicare un sito dove poter reperire qualsiasi informazione utile affinchè questo strumento funzioni correttamente?
Mi piacerebbe capire bene tutti i parametri che si possono usare:
/s /r:3 /w:1 ecc ecc..

grazie

Mauro | #

Piccolo (non tanto) difetto di robocopy: non supporta la rinomina delle directory: provate a fare il mirroring di una struttura di + cartelle, e poi a rinominare una cartella in sorgente: Robocopy eliminerà in destinazione la cartella rinominata e i file contenuti – dopodichè tratterà come nuova la directory sorgente rinominata, ricopiando in toto struttura e file contenuti.

Un bel casino se si tratta di giga di roba, al momento non ho trovato soluzione…

Daniele | #

sto utilizzando da poco robocopy per fare il back up di una porzione di un server su un hard disc esterno, l’unico problema e che ho collegato una pen drive al pc da cui faccio il back up ed ora mi riconosce L’hard disc come unita “f” anziche “e” come era stato inserito nelle righe di progettazione, non so come fare per poter andare a modificare il percorso e poter cosi essere protetto da back up.
Help Grazie a tutti

MARIA | #

Ho usato Robocopy e mi ha creato tutte le cartelle e sottocartelle, ma non mi ha copiato i file inclusi nelle sottocartelle. Come devo fare per copiare tutto? Grazie e ciao a tutti.

Cavallo GolOso | #

funziona su 2000 e su XP, e su Vista è di serie, se ho capito bene.
Per estrarlo su altri sistemi basta usare 7ZIP o zip7 come si chiama…

Stefano | #

Come creare un collegamento (magari sul desktop) per dire a ROBOCOPY di fare sempre il backup delle stesse cartelle e con le stesse opzioni, senza riscrivere i comandi tutte le volte?

Grazie

Giovanni | #

X stefano:
crei un file di testo con estensione txt, ci incolli i comandi, e lo rinomini come .CMD !

Io invece ho problemi: quando lancio il comando mi copia tutto ma mi mette tutte le cartelle come nascoste…

Avete soluzioni? grazie, giovanni

Massimo | #

Salve, ho un problema sull’utilizzo del programma in oggetto, ho utilizzato il seguente comado “robocopy “c:\documenti” “H:\documenti” /MIR /V /NP /ZB /R:10 /W:30″, la sincronizzazione da C: ad H: nessun problema, il problema nato quando l’utente ha inserito manualmente dati in H: e dopo ha lanciato di nuovo il comando cancellando i dati inseriti manualmente su H.
C’è modo di recuprarli? come posso fare?
Grazie a tutti

andrea | #

Ciao quando imposto /B o /ZB mi dice Invalid parameter.
In piu ti chiedo cosa significa “backup copies are not restartable”.
Grazie

Giovanni | #

Ragazzi un suggerimento…
se nel disco di backup vi si settano i file e le cartelle come hidden (nascoste) e system (di sistema) usate i comandi /XJD (in XP) o /XJ (in VISTA).

IO COSì HO SISTEMATO..

Just use the /XJD switch to exclude junction points for directories, if that switch is included in the Vista version. Otherwise, try the /XJ switch.
Maybe junctions created with the MKLINK command are different, as Vista now has Linux-style SymLinks.

http://WWW.MEDIAPC.IT

Fabio | #

Ciao
e’ possibile inserire nella riga di codice un comando per identificare l’utente e la password di accesso al servcer su cui si vuole fare il backup ?
Grazie

Davide | #

Salve!

Utilizzo l’utility robocopy per effettuare un mirroring su un disco di
rete, la copia viene effettuata anche per i file non modificati.
Questo problema non si verifica se effettuo la copia su un disco
esterno usb ma solo effettuando la copia sul disco di rete, dove copia
interamente tutti i file ad ogni esecuzione anche se questi non sono
stati modificati.

Qualcuno sà come risolvere il problema?

Grazie

Mèno | #

Spero mi possiate aiutare
Volevo far partire la riga di comando da un disco usb quando viene collegato al pc ma l’unita cambia lettera c’è un comando per riconoscere l’unità dal quale viene lanciata la riga di comando

Mèno | #

scuasate se mi sono dimenticato di ringrazziarvi

massi | #

grazie sono da un cliente e la tua pagina mi ha aiutato tantissimo!!!

andrea z | #

Ho lo stesso problema di Davide,

<>

e’ in particolare, robocopy mi copia tutti i dati tutte le volte sul disco di rete se ci accedo via VPN dall’esterno, mentre all’ interno della rete funziona regolarmente. Il bello e’ che se faccio la copia dall’interno, poi dall’ esterno mi riconosce i file gia’ presenti e li salta, mentre se faccio la copia interamente da fuori, ricopia tutte le volte tutti i file.

Qualche idea ?

ciao
andrea

Diego | #

Grazie piccola guida utile e programma molto utile

Riccardo | #

Buongiorno,
volevo chiedervi un piccolo aiutino..innanzitutto complimenti per l’ottima guida!
Avrei la necessità di copiare alcuni file sotto una cartella che ha lo stesso nome per una serie di utenti. In pratica una struttura del genere:
\\PIPPO\%USERNAME%\NUOVA_CARTELLA
dove %USERNAME% è la cartella di ogni utente.

C’è qualche opzione di robocopy che lo consente?
Vi ringrazio per l’aiuto!

Saluti

massimo spaggiari | #

salve mi servirebbe utilizzare robocopy per copiare i file solamente in un senso da una cartella source alla destination ma senza che dallla cartella di destinazione si possa copiare file sul source e’ possibile ?

Lorenzo | #

ciao ho usato maldestramente il comando robocopy per copiare una salvare una cartella da una pendrive da 1GB che aveva dei settori danneggiati e non mi permetteva di fare il semplice copia e incolla. in breve mi ha cancellato/non vedo più tutto quello che conteneva l’Hd (partizione dati) del PC.C’è la possibilità di recuperare i dati dell’ HD?

Johnny Hammond | #

Il resource Kit si installa anche su 2012 R2, se a qualcuno interessa, basta forzare l’installazione dopo l’avviso di incompatibilità.
Lo sto utilizzando e funziona.