Robocopy supprime les fichiers ignorés dans la destination lors de la mise en miroir
Lorsque vous essayez de mettre en miroir deux dossiers à l'aide de Robocopy, l'option / MIR entraîne la suppression des fichiers de la destination lorsque les fichiers source sont en cours d'utilisation. Plus précisément, cela se produit lors de la sauvegarde de mon dossier Outlook et des fichiers * .pst en cours d'utilisation.
La sortie est la suivante:
-------------------------------------------------------------------------------
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
Il est exact que AVOutlook.pst est plus récent, mais ne peut pas le copier, ne génère pas d'erreur et supprime l'ancienne version du fichier dest. Ainsi, non seulement il n'a pas été sauvegardé, mais la sauvegarde précédente a maintenant disparu. Le code de sortie est le seul indice que quelque chose s'est mal passé: 8 = Certains fichiers ou répertoires n'ont pas pu être copiés.
Je comprends en quelque sorte que l'ancien fichier de destination doit être supprimé et remplacé pour obtenir une image miroir, mais pourquoi aucune erreur, et pourquoi ne pas reconnaître que les fichiers de la source et de la destination sont liés? Est-ce une lacune de Robocopy ou une décision de conception? Y a-t-il un moyen plus sûr?
Réponses
Est-ce une lacune de Robocopy ou une décision de conception?
Il est exact que AVOutlook.pst est plus récent, mais ne peut pas le copier, ne génère pas d'erreur et supprime l'ancienne version du fichier dest.
Il s'agit d'une décision de conception et est documentée:
Robocopy ne parviendra pas à copier les fichiers verrouillés par d'autres utilisateurs ou applications, donc limiter le nombre de tentatives avec / R: 0 accélérera la copie en ignorant les fichiers en cours d'utilisation.
Source: Robocopy "Copie de fichiers robuste" - Windows CMD - SS64.com
Y a-t-il un moyen plus sûr?
Oui, utilisez VSHADOW ou DISKSHADOW:
Le service de cliché instantané de volume Windows est le seul sous-système Windows capable de copier les fichiers ouverts. Robocopy n'utilise pas le service de cliché instantané de volume, mais il peut sauvegarder une ombre de volume qui a déjà été créée avec VSHADOW ou DISKSHADOW .
Source: Robocopy "Copie de fichiers robuste" - Windows CMD - SS64.com
ne soulève pas d'erreur
C'est le cas, et cela est également documenté (Robocopy utilise des CODES DE SORTIE):
= Nouvelle option dans Windows 8 et Windows 10
CODES DE SORTIE Robocopy
Source: Robocopy "Copie de fichiers robuste" - Windows CMD - SS64.com
Vous pouvez vérifier ces codes de sortie et prendre les mesures appropriées dans vos fichiers de commandes.