Robocopy는 미러링시 대상에서 건너 뛴 파일을 삭제합니다.

Aug 19 2020

Robocopy를 사용하여 두 폴더를 미러링하려고 할 때 / MIR 옵션을 사용하면 원본 파일이 사용 중일 때 대상의 파일이 삭제됩니다. 특히 이것은 내 Outlook 폴더를 백업하고 * .pst 파일이 사용 중일 때 발생합니다.

출력은 다음과 같습니다.

-------------------------------------------------------------------------------
   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

AVOutlook.pst가 최신 버전이지만 복사 할 수없고 오류가 발생하지 않으며 대상에서 이전 버전을 삭제하는 것이 맞습니다. 따라서 백업하지 않았을뿐만 아니라 이전 백업도 이제 사라졌습니다. 종료 코드는 문제가 발생한 유일한 단서입니다. 8 = 일부 파일 또는 디렉토리를 복사 할 수 없습니다.

미러 이미지를 얻으려면 원래의 오래된 파일을 제거하고 교체해야한다는 것을 이해합니다. 그런데 왜 오류가없고 원본과 대상의 파일이 관련되어 있다는 것을 인식하지 못하는 이유는 무엇입니까? 이것이 Robocopy의 결점입니까, 아니면 디자인 결정입니까? 더 안전한 방법이 있습니까?

답변

2 DavidPostill Aug 19 2020 at 00:38

이것이 Robocopy의 결점입니까, 아니면 디자인 결정입니까?

AVOutlook.pst가 최신 버전이지만 복사 할 수없고 오류가 발생하지 않으며 대상에서 이전 버전을 삭제하는 것이 맞습니다.

이는 설계 결정이며 다음과 같이 문서화됩니다.

Robocopy는 다른 사용자 나 응용 프로그램에 의해 잠긴 파일을 복사하지 못하므로 / R : 0으로 재시도 횟수를 제한하면 사용중인 파일을 건너 뛰어 복사 속도가 빨라집니다.

출처 : Robocopy "강력한 파일 복사"-Windows CMD-SS64.com

더 안전한 방법이 있습니까?

예, VSHADOW 또는 DISKSHADOW를 사용합니다.

Windows 볼륨 섀도 복사본 서비스는 열린 파일을 복사 할 수있는 유일한 Windows 하위 시스템입니다. Robocopy는 볼륨 섀도 복사본 서비스를 사용하지 않지만 VSHADOW 또는 DISKSHADOW로 이미 생성 된 볼륨 섀도우를 백업 할 수 있습니다 .

출처 : Robocopy "강력한 파일 복사"-Windows CMD-SS64.com

오류를 일으키지 않는다

그것은 또한 문서화되어 있습니다 (Robocopy는 EXIT CODES를 사용합니다) :

= Windows 8 및 Windows 10의 새로운 옵션

Robocopy 종료 코드

출처 : Robocopy "강력한 파일 복사"-Windows CMD-SS64.com

이러한 종료 ​​코드를 확인하고 배치 파일에서 적절한 조치를 취할 수 있습니다.