rsync --remove-source-files xóa từng tệp một hoặc sau khi rsync hoàn thành?


23

Tôi có một lệnh rsync trong một ứng dụng sao chép nội dung của một thư mục sang một máy khác. Tôi có tùy chọn --remove-source-filesvì tôi chỉ quan tâm đến việc có các tệp trên máy đích sau khi rsync kết thúc.

Tuy nhiên, tôi đã tự hỏi làm thế nào rsync hoạt động nếu nó gặp sự cố hoặc bị gián đoạn trong khi truyền tệp?

Xem xét tôi có hai tệp để đồng bộ hóa, ab. Sẽ rsync sao chép a, sau đó xóa nó khỏi nguồn và bắt đầu sao chép b, hoặc nó sẽ chờ cả hai abđược sao chép vào máy đích trước khi xóa cả hai? Tôi đã thấy bạn có thể định cấu hình hành vi này khi xóa các tệp không liên quan bằng một số cờ, nhưng không tìm thấy gì về việc xóa các tệp nguồn.


tương tự như stackoverflow.com/questions/7380234/ Mặc dù tôi nghĩ Kyle có thể đúng - đôi khi có vẻ như rsync chờ tất cả các tệp hoàn tất, nhưng đôi khi nó xóa các tệp trước khi hoàn thành. Vẫn còn một chút bối rối.
Chris2048

Câu trả lời:


16

Kiểm tra mã rsync cho thấy các tệp nguồn bị xóa khi chúng được gửi, mặc dù điều đó có thể không xảy ra ngay lập tức. rsync ghép các hoạt động của nó, vì vậy thông báo rằng một tệp đã được nhận thành công (và do đó có thể bị xóa) có thể được đệm phía sau các dữ liệu khác.


2
Theo câu trả lời của tôi dưới đây, tôi đã thử nó với một vài tệp và các tệp chỉ bị xóa nếu thao tác hoàn tất thành công. Điều đó khiến tôi nghĩ rằng tín hiệu "chuyển OK" mà bạn tìm thấy chỉ được thẩm thấu khi hoạt động hoàn tất thành công.
Daniel Andersson

5
Nếu bạn thử nó với nhiều hơn một vài tệp, bạn sẽ thấy các tệp nguồn biến mất trước khi thực hiện chuyển toàn bộ.
Kyle Jones

có vẻ như khi chỉ định thư mục và tùy chọn đệ quy, các tệp trong không bị xóa ngay lập tức
Andre Holzner

4

Tôi đã thử nó (và bạn cũng có thể dễ dàng làm điều đó). Chúng được xóa sau khi tất cả các tập tin được chuyển thành công. Nếu quá trình truyền bị gián đoạn hoặc xảy ra lỗi khác, các tệp nguồn sẽ không bị xóa, ngay cả khi một số trong số chúng được chuyển OK.

EDIT: theo câu trả lời của Kyle Jones, trường hợp có thể khác khi có nhiều tệp liên quan.

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.