Robocopy elimina i file ignorati nella destinazione durante il mirroring
Quando si tenta di eseguire il mirroring di due cartelle utilizzando Robocopy, l'opzione / MIR fa sì che i file nella destinazione vengano eliminati quando i file di origine sono in uso. In particolare, ciò accade quando si esegue il backup della cartella di Outlook e sono in uso i file * .pst.
L'output è il seguente:
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : Tuesday, 18 August 2020 18:58:28
Source : P:\Outlook\
Dest : D:\_SyncFolderTest\To\Outlook\
Files : *.*
Options : *.* /BYTES /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /J /R:0 /W:30
------------------------------------------------------------------------------
23 P:\Outlook\
Newer 183116800 AVArchive_2018.pst
Newer 128009216 AVArchive_2019.pst
Newer 42427392 AVArchive_2020.pst
Newer 403801088 AVOutlook.pst
New File 131072 ~AVArchive_2018.pst.tmp
New File 131072 ~AVArchive_2019.pst.tmp
New File 131072 ~AVArchive_2020.pst.tmp
New File 131072 ~AVOutlook.pst.tmp
------------------------------------------------------------------------------
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0 0 0
Files : 23 4 15 0 4 0
Bytes : 3545771008 524288 2787892224 0 757354496 0
Times : 0:00:00 0:00:00 0:00:00 0:00:00
Speed : 37449142 Bytes/sec.
Speed : 2142.857 MegaBytes/min.
Ended : Tuesday, 18 August 2020 18:58:28
È corretto che AVOutlook.pst è più recente, ma non può copiarlo, non genera un errore ed elimina la versione precedente nella destinazione. Quindi non solo non è stato eseguito il backup, ma il backup precedente è ora andato. Il codice di uscita è l'unico indizio che qualcosa è andato storto: 8 = Alcuni file o directory non possono essere copiati.
Capisco che il vecchio file dest deve essere rimosso e sostituito per ottenere un'immagine speculare, ma perché nessun errore e perché non riconoscere che i file nel sorgente e nella destinazione sono correlati? È una lacuna in Robocopy o una decisione progettuale? C'è un modo più sicuro?
Risposte
È una lacuna in Robocopy o una decisione progettuale?
È corretto che AVOutlook.pst è più recente, ma non può copiarlo, non genera un errore ed elimina la versione precedente nella destinazione.
È una decisione progettuale ed è documentata:
Robocopy non riuscirà a copiare i file bloccati da altri utenti o applicazioni, quindi limitare il numero di tentativi con / R: 0 velocizzerà la copia saltando i file in uso.
Fonte: Robocopy "Robust File Copy" - Windows CMD - SS64.com
C'è un modo più sicuro?
Sì, usa VSHADOW o DISKSHADOW:
Il servizio Copia Shadow del volume di Windows è l'unico sottosistema di Windows in grado di copiare i file aperti. Robocopy non utilizza il servizio Copia Shadow del volume, ma può eseguire il backup di uno shadow del volume che è già stato creato con VSHADOW o DISKSHADOW .
Fonte: Robocopy "Robust File Copy" - Windows CMD - SS64.com
non solleva un errore
Lo fa, e anche questo è documentato (Robocopy utilizza i CODICI DI USCITA):
= Nuova opzione in Windows 8 e Windows 10
CODICI DI USCITA Robocopy
Fonte: Robocopy "Robust File Copy" - Windows CMD - SS64.com
È possibile controllare questi codici di uscita e intraprendere l'azione appropriata nei file batch.