Câu hỏi rsync - Loại trừ các thư mục nhưng bao gồm các tệp trong đó


Tôi có một lệnh rsync mà tôi đang sử dụng để đồng bộ hóa hai thư mục:

rsync -CurvtOlon --delete /home/source/path/ /home/dest/path/

Khi tôi chạy lệnh, nó đệ quy quét tất cả các cây nguồn và tìm thấy tất cả các tệp và thư mục cần cập nhật trong cây đích. Khi tôi loại bỏ tùy chọn -n và thực sự chạy lệnh, nó đồng bộ tất cả các tệp và thư mục như tôi mong đợi, nhưng khi tôi chạy lại lệnh ngay sau đó nó cho tôi biết rằng các tệp hiện đã được cập nhật, nhưng tất cả các thư mục vẫn cần cập nhật.

Tôi hoặc cần phải hiểu tại sao nó không cập nhật các thư mục đúng cách và vẫn đánh dấu chúng là lỗi thời, hoặc tôi cần một lệnh mới để so sánh chỉ các tập tin chứ không phải các thư mục.

Tôi nghĩ rằng tôi có thể cố gắng loại trừ mọi thứ và sau đó chỉ bao gồm các phần mở rộng tập tin mà tôi biết mình cần, nhưng điều này dường như ngăn nó thậm chí tìm kiếm trong các thư mục để tìm các tệp ở nơi đầu tiên:

rsync -CurvtOlon --delete --include="*.txt" --exclude="*" /home/source/path/ /home/dest/path/

Bất kỳ đề xuất rất hoan nghênh!


1
2017-08-06 08:22


gốc




Các câu trả lời: