Robocopy จะลบไฟล์ที่ข้ามในปลายทางเมื่อทำการมิเรอร์
เมื่อพยายามมิเรอร์สองโฟลเดอร์โดยใช้ 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 หรือการตัดสินใจในการออกแบบ? มีวิธีที่ปลอดภัยกว่านี้ไหม?
คำตอบ
นี่เป็นข้อบกพร่องใน 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
คุณสามารถตรวจสอบรหัสออกเหล่านี้และดำเนินการตามความเหมาะสมในไฟล์แบตช์ของคุณ