Lệnh ROBOCOPY để thực hiện sao lưu gia tăng


31

Tôi bị choáng ngợp bởi tài liệu ROBOCOPY. Tôi muốn thực hiện sao lưu gia tăng các tệp cục bộ của mình vào ổ đĩa mạng (M). Tôi muốn nó chạy càng nhanh càng tốt, không có tệp nhật ký và càng ít văn bản càng tốt cho màn hình. Các tệp của tôi đều nằm ở đâu đó trong một thư mục (MyFolder) có nhiều thư mục con lồng nhau. Bằng cách "gia tăng", ý tôi là "chỉ sao chép những gì mới hoặc đã thay đổi." Tôi không muốn xóa bất kỳ tệp lịch sử nào ở đích, nhưng nếu tôi đã thay đổi một tệp, tôi chỉ muốn phiên bản mới hơn. Và nếu tôi không thay đổi một tập tin, thì tôi không muốn sao chép nó qua tập tin sao lưu hiện có. Là dưới đây đúng? (Chạy Win7 Enterprise.)

robocopy C:\MyFolder M:\MyFolder /z /np /xo /e

Xin vui lòng, không có đề nghị cho bất cứ điều gì ngoại trừ robocopy. Tôi không được phép cài đặt bất cứ thứ gì. Và tôi không quan tâm đến những thứ bảo mật. Tôi có người cho điều đó (cho dù tôi muốn hay không). ;-)


1
Bạn cần một tùy chọn / s hoặc / e để sao chép thư mục con.
David Marshall

@DavidMarshall: ôi. Tôi thực sự biết điều đó. Thêm. Vì vậy, bây giờ tôi có tốt không?
dmm

Vâng. Tôi đã sử dụng một cái gì đó tương tự.
David Marshall

Kiểm tra nó ngay bây giờ. Vẫn còn một loạt các công cụ được viết lên màn hình. Làm thế nào để tôi thoát khỏi nó, trong tương lai?
dmm

3
Một lựa chọn có thể làm cho hiệu suất khác biệt lớn trở nên khôn ngoan là chuyển tiền đa luồng. /MT[:N] Tôi có CPU 4 nhân vì vậy tôi thường sử dụng thứ gì đó trong cơn thịnh nộ 8-16 cho số lượng luồng của mình. Tôi hình 2-4 chủ đề cho mỗi lõi. Bạn chắc chắn nên kiểm tra với các giá trị khác nhau trên phần cứng của bạn. Đa luồng giúp ích nhiều nhất khi bạn có nhiều tệp nhỏ. Nếu bạn có một số lượng nhỏ các tệp lớn, nó sẽ không giúp được nhiều như vậy.
Zoredache

Câu trả lời:


40

Tôi đã sử dụng thành công một biến thể của tập lệnh sau trong vài năm nay:

robocopy C:\source M:\destination /MIR /FFT /R:3 /W:10 /Z /NP /NDL

Các thông số giải thích

  • Các /MIRtùy chọn (tương đương /E /PURGE) là viết tắt của "gương" và là lựa chọn quan trọng nhất. Nó coi thư mục nguồn của bạn là "chính", khiến nó ghi đè lên bất kỳ thay đổi nào ở phía đích, đây là một cài đặt hữu ích cho bản sao lưu.

  • /FFTlà một tùy chọn rất quan trọng, vì nó cho phép chênh lệch 2 giây khi so sánh dấu thời gian của các tệp, sao cho sự khác biệt nhỏ giữa đồng hồ giữa máy tính và thiết bị sao lưu của bạn không thành vấn đề. Điều này sẽ đảm bảo rằng chỉ các tệp đã sửa đổi được sao chép qua, ngay cả khi thời gian sửa đổi tệp không được đồng bộ hóa chính xác.

  • /R:3chỉ định số lần thử lại, nếu kết nối không thành công và /W:10chỉ định thời gian chờ là 10 giây giữa các lần thử lại. Đây là những tùy chọn hữu ích khi thực hiện sao lưu qua mạng.

  • /Z sao chép các tập tin trong "chế độ khởi động lại", vì vậy các tập tin sao chép một phần có thể được tiếp tục sau khi bị gián đoạn.

  • /NP/NDLngăn chặn một số kết xuất debug, bạn bổ sung có thể thêm /NS, /NC, /NFLđể tiếp tục làm giảm lượng đầu ra (xem tài liệu hướng dẫn để biết chi tiết). Tuy nhiên, tôi sẽ đề nghị in một số đầu ra gỡ lỗi trong lần chạy đầu tiên, để đảm bảo mọi thứ đều hoạt động như mong đợi.

Các tham số hữu ích khác được đề cập bởi người dùng khác

  • /XJDkhông bao gồm "điểm giao nhau" cho các thư mục, các liên kết tượng trưng có thể gây ra sự cố như các vòng lặp vô hạn trong quá trình sao lưu. Xem ý kiến ​​của Brian để biết chi tiết.

  • /MT[:N]sử dụng đa luồng và có thể tăng tốc độ chuyển nhiều tệp nhỏ. Đối với N, giá trị gấp 2-4 lần số lõi nên làm trên một máy bình thường. Nhận xét của Zoredache về câu hỏi ban đầu.

Chỉnh sửa để phản hồi bình luận của Granger:

Nếu bạn thực sự muốn giữ các tệp tồn tại ở đích, nhưng không phải ở phía nguồn, chỉ cần thay thế /MIRtùy chọn bằng /E. Tuy nhiên, tôi thực sự khuyên bạn nên sử dụng /MIRkhi bạn muốn sử dụng đích để sao lưu gia tăng. Mặt khác, bất kỳ tệp nào đã được đổi tên hoặc di chuyển tại nguồn sẽ làm lộn xộn đích, nghĩa là bạn nhận được các bản sao. Tôi thường tạo một "bản sao lưu" thư mục con trên đích chứa bản sao 1: 1 của cây thư mục nguồn của tôi. Bằng cách đó, bạn vẫn có thể giữ các tệp lịch sử bên cạnh thư mục sao lưu và xóa hoặc sắp xếp lại chúng một cách an toàn sau này.


Lệnh này có cho phép sao chép các tệp có quyền không? robocopy C: \ source M: \ Destination / MIR / FFT / R: 3 / W: 10 / Z / NP / NDL
Shabeer Sher

4
Ngoại trừ / MIR (/ PURGE) sẽ xóa các tệp tại đích không còn tồn tại tại nguồn. Câu hỏi được nêu rõ ràng là không muốn.
Granger

@Shabeer Không, Robocopy theo mặc định chỉ sao chép dữ liệu (D), thuộc tính (A) và dấu thời gian (T). Các giá trị khác phải được chỉ định với tham số "/ copy: <value>", ví dụ "/ copy: DATS" để bao gồm các quyền ACL. Nhưng vì tôi sao chép vào một NAS dựa trên Linux, điều đó không có ý nghĩa lắm đối với tôi.
pederpansen

1
@Brian Cảm ơn các gợi ý. Tôi chưa bao giờ gặp vấn đề với các điểm giao nhau, nhưng tôi đoán sẽ không đau khi tránh chúng chỉ trong trường hợp. Đã thêm nó vào câu trả lời của tôi.
pederpansen

1
@pederpansen: Nó có xu hướng xảy ra khi sao chép thư mục người dùng (hoặc sao chép toàn bộ ổ đĩa). Thông thường thư mục dữ liệu ứng dụng là thủ phạm, vì nó có một điểm nối vì lý do tương thích ứng dụng. Hãy thử chạy "cd C: \ Users \ [USERFOLDER] \ AppData \ Local \ Application Data \ application data \ application data \" từ một dấu nhắc lệnh nếu bạn muốn xem một đường dẫn vô hạn mẫu. Điều này hoạt động ngay cả trên Windows 10.
Brian

8

Tôi thích sử dụng như sau:

robocopy "C:\Users\<user>" "F:\robocopy\<user>" /XJD /R:0 /XA:SH /E /ZB /XO /XD "Downloads" "AppData" /LOG:robocopy.log /TEE

Tôi chạy cái này với tư cách Quản trị viên để chế độ sao lưu ( /btùy chọn) có thể tạo bản sao của các tệp đang sử dụng.

Các tùy chọn khác không liên quan đến bản chất gia tăng của sao lưu là:

/XD để loại trừ các thư mục từ bản sao lưu.

/XJD để loại trừ các điểm giao nhau ("Âm nhạc của tôi").

/R:0 để đặt thử lại trên các lần thử không thành 0.

/XA:SH để bỏ qua các tập tin ẩn và hệ thống.

Để xóa càng nhiều thông tin đăng nhập càng tốt, hãy thêm các tùy chọn sau /NP /NS /NDL /NFL /NC.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.