Có cách nào để xcopy vừa thay đổi hoặc tập tin mới không?


57

Tôi đang cố gắng triển khai một trang web từ máy tính để bàn của mình đến máy chủ web của mình và vì vậy ngay bây giờ tôi đang làm điều này:

 xcopy C:\source X:\destination /s

Máy tính để bàn của tôi là một máy Windows XP và tôi cần sao chép vào máy Windows Server 2008, nhưng điều này sao chép mọi thứ và toàn bộ trang web rất lớn và phải mất một thời gian rất dài để hoàn tất việc sao chép.

Có cách nào để chỉ sao chép các tập tin mới hoặc cập nhật không? Tôi thấy bạn có thể vượt qua trong một ngày đã thay đổi, nhưng tôi muốn xem liệu có cách nào đơn giản hơn để so sánh với tệp đích ...

Ngoài ra, tôi sẵn sàng sử dụng bất cứ thứ gì ngoài xcopy có thể thực hiện công việc ...


5
Bạn cũng có thể thử Robocopy.
tham gia

Câu trả lời:


97

Từ tài liệu XCOPY :

/ d [: mm-dd-yyyy]: Sao chép các tệp nguồn đã thay đổi vào hoặc sau ngày chỉ định. Nếu bạn không bao gồm giá trị mm-dd-yyyy, xcopy sao chép tất cả các tệp Nguồn mới hơn các tệp Đích hiện có. Tùy chọn dòng lệnh này cho phép bạn cập nhật các tệp đã thay đổi.

Vì vậy, với ví dụ của bạn, nó nên đọc:

xcopy C:\source X:\destination /s /d

2
"/ d" có vẻ như bạn phải hẹn hò. như đã đề cập trong câu hỏi, tôi không có ý định về ngày nghỉ. tôi chỉ muốn sao chép các tập tin mới và cập nhật
leora

10
Không, ngày là tùy chọn! Đó là lý do tại sao nó là trong ngoặc vuông. Bạn đã thực sự đọc dòng đó? Nó nói nó làm chính xác những gì bạn muốn nó làm!
Đánh dấu

4
Điều duy nhất cần cẩn thận với câu trả lời này là máy chủ web và máy trạm của bạn được đặt cùng một lúc! Nếu cả hai không sử dụng NTP, điều này có thể bỏ lỡ các tệp hoặc sao chép nhiều tệp hơn mức cần thiết.
CarlF

5
Mặc dù tài liệu nêu chính xác, nhưng thật dễ dàng để bỏ qua /dvì ngày đó không phải là ngày bắt buộc, sau đó nhìn vào các tùy chọn khác và nghĩ rằng không có giải pháp. :-)
Stéphane Gourichon

2
Nếu một tệp không tồn tại trong thư mục đích, có vẻ như / D không có ngày được chỉ định S copy sao chép nó, có thể không phải là kết quả mong muốn.
xương sống

24

Robocopy cũng là một lựa chọn tốt:

Theo mặc định, Robocopy sẽ chỉ sao chép một tệp nếu nguồn và đích có dấu thời gian khác nhau hoặc kích cỡ tệp khác nhau.

Ngoài ra, bạn có thể làm nhiều hơn thế - lệnh nhân bản rất hữu ích cho các trang web nơi bạn cũng đang xóa các tệp.


Cảm ơn bạn đã đề cập đến robocopy - thật tuyệt khi tìm hiểu một số tiện ích mới có sẵn.
Casper Leon Nielsen

3

Sử dụng tùy chọn / A. Tất cả các tệp mới hoặc sửa đổi sẽ có bộ thuộc tính lưu trữ.

Kiểm tra liên kết dưới đây để biết chi tiết:

Cú pháp lệnh Xcopy và các ví dụ


1
Có, nhưng trừ khi bạn xcopy /M, thì các tệp nguồn vẫn sẽ được đặt thuộc tính lưu trữ sau khi bạn sao chép chúng và cũng sẽ được sao chép vào lần tiếp theo. Yêu cầu truy cập ghi vào các tệp nguồn.
Nigel Touch

2

Tôi có các tác vụ sau được lên lịch cho ~ 80k tệp và ~ 2k thư mục:

xcopy \\sourceserver\share\ Q:\backuptarget\folder\ /i /d /y /he /C /EXCLUDE:C:\backup\list.txt > C:\backup\backup.log

tùy chọn / C tiếp tục sao chép ngay cả khi "quyền truy cập bị từ chối" vào tệp hoặc thư mục do nó đang mở hoặc không có quyền trong tài khoản dịch vụ mà bạn chạy tác vụ theo lịch trình này.

">" ghi đè nhật ký mỗi lần nếu bạn muốn nối thêm, bạn có thể sử dụng đường ống ">>".


0

rsync , nhưng tôi chưa sử dụng trên Windows. Cách tôi thường sử dụng nó trên Linux là:

rsync -avuz src/ remote:dst/

chỉ gửi thông tin cập nhật (tập tin mới và sửa đổi).


-1

BitTorrent Sync hoạt động tuyệt vời. Nó sẽ tự động cập nhật bất cứ khi nào bạn thay đổi một tập tin. Ngang ngang hàng. Cập nhật nhiều địa điểm cùng một lúc nếu bạn cần. Dễ sử dụng.

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.