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 = ไม่สามารถคัดลอกไฟล์หรือไดเรกทอรีบางรายการได้

ฉันเข้าใจว่าต้องลบและเปลี่ยนไฟล์ dest เก่าเพื่อให้ได้ภาพมิเรอร์ แต่ทำไมไม่มีข้อผิดพลาดและทำไมไม่ทราบว่าไฟล์ในต้นทางและปลายทางเกี่ยวข้องกัน นี่เป็นข้อบกพร่องใน Robocopy หรือการตัดสินใจในการออกแบบ? มีวิธีที่ปลอดภัยกว่านี้ไหม?

คำตอบ

2 DavidPostill Aug 19 2020 at 00:38

นี่เป็นข้อบกพร่องใน Robocopy หรือการตัดสินใจในการออกแบบ?

ถูกต้องแล้วที่ AVOutlook.pst ใหม่กว่า แต่ไม่สามารถคัดลอกได้ไม่ทำให้เกิดข้อผิดพลาดและลบเวอร์ชันเก่ากว่าในปลายทาง

เป็นการตัดสินใจในการออกแบบและจัดทำเป็นเอกสาร:

Robocopy จะไม่สามารถคัดลอกไฟล์ที่ล็อกโดยผู้ใช้หรือแอปพลิเคชันอื่น ๆ ได้ดังนั้นการ จำกัด จำนวนการลองใหม่ด้วย / R: 0 จะทำให้การคัดลอกเร็วขึ้นโดยการข้ามไฟล์ที่ใช้งานอยู่

ที่มา: Robocopy "Robust File Copy" - Windows CMD - SS64.com

มีวิธีที่ปลอดภัยกว่านี้ไหม?

ใช่ใช้ VSHADOW หรือ DISKSHADOW:

บริการ Windows Volume Shadow Copy เป็นระบบย่อยเดียวของ Windows ที่สามารถคัดลอกไฟล์ที่เปิดอยู่ robocopy ไม่ได้ใช้บริการ Volume Shadow Copy แต่ก็สามารถเงาปริมาณสำรองที่ได้ถูกสร้างขึ้นด้วย vshadow หรือDISKSHADOW

ที่มา: Robocopy "Robust File Copy" - Windows CMD - SS64.com

ไม่ทำให้เกิดข้อผิดพลาด

มันเป็นเช่นนั้นและเป็นเอกสารด้วย (Robocopy ใช้ EXIT CODES):

= ตัวเลือกใหม่ใน Windows 8 และ Windows 10

Robocopy ออกรหัส

ที่มา: Robocopy "Robust File Copy" - Windows CMD - SS64.com

คุณสามารถตรวจสอบรหัสออกเหล่านี้และดำเนินการตามความเหมาะสมในไฟล์แบตช์ของคุณ