rsync --delete
@sudodus vậy để sử dụng --delete tôi phải xóa các tệp gốc khỏi thư mục gốc?
Đúng, nhưng, tôi muốn nói rằng mục đích là theo cách khác: Nó sẽ giúp bạn xóa một tệp trong mục tiêu, khi bạn đã xóa tệp tương ứng trong nguồn.
Nếu bạn muốn tránh sao chép một số tệp (nhưng giữ chúng trong nguồn), bạn có thể sử dụng --loại trừ
.
rsync
không phải là một công cụ xóa chung. Nó là một công cụ sao chép để sao chép/cập nhật cây thư mục đích với các tệp mới hoặc cập nhật trong cây thư mục nguồn tương ứng. Các --xóa bỏ
tùy chọn là 'chỉ' để đồng bộ hóa, nghĩa là xóa một tệp trong mục tiêu, nếu tệp tương ứng trong nguồn đã bị xóa.
Xem mô tả chi tiết trong sách hướng dẫn người đàn ông rsync
--delete xóa các tệp không liên quan khỏi thư mục đích
--delete-before người nhận xóa trước xfer, không phải trong
--delete-trong khi xóa người nhận trong quá trình truyền
--delete-delay tìm xóa trong khi xóa, xóa sau
--delete-after xóa người nhận sau khi truyền, không phải trong khi
--delete-excluded cũng xóa các tệp bị loại trừ khỏi thư mục đích
--ignore-missing-args bỏ qua các đối số nguồn bị thiếu mà không có lỗi
--delete-missing-args xóa các đối số nguồn bị thiếu khỏi đích
--xóa bỏ
Điều này yêu cầu rsync xóa các tệp không liên quan khỏi bộ nhận
bên (những bên không ở bên gửi), nhưng chỉ dành cho
các thư mục đang được đồng bộ hóa. Chắc hẳn bạn đã từng hỏi
rsync để gửi toàn bộ thư mục (ví dụ: "dir" hoặc "dir/") mà không cần
sử dụng ký tự đại diện cho nội dung của thư mục (ví dụ: "dir/*")
vì ký tự đại diện được mở rộng bởi shell và rsync do đó nhận được
yêu cầu chuyển các tệp riêng lẻ, không phải tệp cha mẹ
danh mục. Các tệp được loại trừ khỏi quá trình chuyển cũng được
không bị xóa trừ khi bạn sử dụng --delete-excluded
tùy chọn hoặc đánh dấu các quy tắc là chỉ phù hợp ở bên gửi
(xem các công cụ sửa đổi bao gồm/loại trừ trong phần QUY TẮC LỌC).
Trước rsync 2.6.7, tùy chọn này sẽ không có hiệu lực trừ khi
--recursive đã được kích hoạt. Bắt đầu với 2.6.7, việc xóa sẽ
cũng xảy ra khi --dirs (-d) được bật, nhưng chỉ đối với các thư mục
có nội dung đang được sao chép.
Tùy chọn này có thể nguy hiểm nếu sử dụng không đúng cách! Nó rất là
trước tiên hãy thử chạy bằng tùy chọn --dry-run (-n) để
xem những tập tin nào sẽ bị xóa.
Nếu bên gửi phát hiện bất kỳ lỗi I/O nào, thì việc xóa
bất kỳ tệp nào tại đích sẽ tự động bị vô hiệu hóa.
Điều này là để ngăn chặn các lỗi hệ thống tệp tạm thời (chẳng hạn như NFS
lỗi) ở phía gửi gây ra việc xóa hàng loạt
tập tin trên đích. Bạn có thể ghi đè điều này bằng
--ignore-lỗi tùy chọn.
Tùy chọn --delete có thể được kết hợp với một trong các
--delete-WHEN các tùy chọn không có xung đột, cũng như
--delete-loại trừ. Tuy nhiên, nếu không có --delete-WHEN
tùy chọn được chỉ định, rsync sẽ chọn --delete-during
thuật toán khi nói chuyện với rsync 3.0.0 hoặc mới hơn và
--delete-before thuật toán khi nói chuyện với một rsync cũ hơn. Nhìn thấy
cũng --delete-delay và --delete-after.
rừm
'remove' là công cụ Linux tiêu chuẩn để xóa bí danh xóa tệp
Tương ứng với ảnh chụp màn hình của bạn, bạn có thể thử
rm /tmp/backup/foto3.txt
hoặc với một trạm kiểm soát, để xác nhận,
rm -i /tmp/backup/foto3.txt