Trong một rsync, tôi đang cố gắng loại trừ các thư mục con phù hợp với một mẫu. Nhưng, tôi không thể làm cho nó hoạt động. Tôi đã theo dõi một số ví dụ được tìm thấy ở đây và trên Google. Nhưng, tôi không nhận được kết quả chính xác. Đây là bit tùy chọn của lệnh của tôi:
-avh --exclude 'branch*' --stats --delete --link-dest=$LNK
Cấu trúc thư mục nguồn của tôi là
/root
/branch1
/branch2
/branch3
/other
/stillAnother
/etc
Đây là một phần của tập lệnh sao lưu. $ LNK là một liên kết đến đích rsync của ngày hôm trước.
Tôi không muốn / root / Branch1, / root / Branch2, / root / Branch3. hoặc nội dung của chúng được đồng bộ hóa. Nhưng chúng.
Dưới đây là các bit loại trừ tôi đã thử:
--exclude=branch*
--exclude='branch*'
--exclude '/branch*'
--exclude /branch*
Cảm ơn cho bất kỳ sự giúp đỡ / lời khuyên.
EDIT - để giải quyết cờ "có thể trùng lặp"
Câu hỏi này liên quan đến một danh sách các thư mục đã biết. Tôi cần loại trừ bất kỳ thư mục nào theo một mẫu, ngay cả khi những thư mục đó chưa tồn tại. tức là từ ví dụ của tôi, các thư mục khác có tên /branch*có thể được thêm vào. Tôi cần làm cho tập lệnh của mình trở thành bằng chứng trong tương lai và tránh chỉnh sửa tập lệnh khi một thư mục phù hợp với mẫu được thêm vào, vì các thư mục đó có thể là tạm thời.
*branch*hoặc /root/branch*không phải là ngắn branch*- viết tắt không được tìm thấy và do đó không loại trừ.
--exclude '*branch*)