Tôi đang cố gắng hết sức để hiểu hệ thống bộ lọc rsync và nó hoàn toàn làm tôi bối rối.
Tôi có cấu trúc thư mục "kiểm tra" sau đây để cố gắng hiểu ý nghĩa của nó. Không có tùy chọn bộ lọc, đây là tất cả các tệp của tôi:
rsync -amv --dry-run/nguồn/mục tiêu
xây dựng danh sách file... xong
nguồn/
nguồn/1.pdf
nguồn/2.pdf
nguồn/loại trừ_rules.txt
nguồn/filter_rules.txt
nguồn/loại trừ/
nguồn/loại trừ/2.jpg
nguồn/loại trừ/4.pdf
nguồn/thư mục con/
nguồn/thư mục con/1.jpg
nguồn/thư mục con/1.txt
nguồn/thư mục con/3.pdf
nguồn/thư mục con/thư mục con2/
nguồn/subdir/subdir2/6.jpg
nguồn/subdir/subdir2/6.pdf
Tôi chỉ muốn đồng bộ hóa tất cả *.pdf
các tệp ngoại trừ trong một số thư mục nhất định, cụ thể là bất kỳ thư mục nào có *loại trừ*
trong đó.
Tôi đang sử dụng một tệp có các quy tắc lọc trong đó bằng lệnh sau:
rsync -amv --dry-run --filter='merge /filter_rules'/source /target
filter_rules trông giống như các biến thể sau đây nhưng tôi không thể làm cho chúng tạo ra kết quả mà tôi đang theo đuổi:
-/ *loại trừ*/
+/ *.pdf
-/ *
Lần gần nhất tôi đến là với loại trừ đơn giản:
-/ *loại trừ*/
Sản lượng nào:
xây dựng danh sách file... xong
nguồn/
nguồn/1.pdf
nguồn/2.pdf
nguồn/loại trừ_rules.txt
nguồn/filter_rules.txt
nguồn/thư mục con/
nguồn/thư mục con/1.jpg
nguồn/thư mục con/1.txt
nguồn/thư mục con/3.pdf
nguồn/thư mục con/thư mục con2/
nguồn/subdir/subdir2/6.jpg
nguồn/subdir/subdir2/6.pdf
Làm cách nào để lọc phần còn lại để nhận *.pdf
?