Ao tentar espelhar duas pastas usando o Robocopy, a opção /MIR faz com que os arquivos no destino sejam excluídos quando os arquivos de origem estiverem em uso. Especificamente, isso acontece ao fazer backup da minha pasta do Outlook e os arquivos *.pst estão em uso.
A saída é a seguinte:
-------------------------------------------------------------------------------
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
É verdade que AVOutlook.pst é mais recente, mas não pode copiá-lo, não gera erro e exclui a versão mais antiga no dest. Portanto, não apenas o backup não foi feito, mas o backup anterior desapareceu. O código de saída é a única pista de que algo deu errado: 8 = Alguns arquivos ou diretórios não puderam ser copiados.
Eu meio que entendo que o arquivo antigo dest deve ser removido e substituído para obter uma imagem espelhada, mas por que nenhum erro e por que não reconhecer que os arquivos na origem e no dest estão relacionados? Isso é uma falha no Robocopy ou uma decisão de design? Existe uma maneira mais segura?