rsync loại trừ các tập tin ẩn không hoạt động!


34

Tôi đã tìm kiếm trên internet và mọi người đều gợi ý điều tương tự - việc thêm vào --exclude=´.*´sẽ loại trừ các tệp và thư mục ẩn khỏi rsync. Nó không. Tôi cũng đã thử thêm một dấu gạch chéo và / hoặc dấu ngoặc kép, vd. --exclude=¨\.*¨Dường như không có gì để làm việc THỨ !! Sẽ thực sự đánh giá cao một số trợ giúp.

Câu trả lời:


63

Cả hai phiên bản bạn đang hiển thị đều sai. Bạn cần sử dụng dấu ngoặc kép.

--exclude=".*"

hoạt động và loại trừ các tập tin và thư mục ẩn.

Nếu bạn chỉ muốn loại trừ các thư mục ẩn:

--exclude ".*/"

Tôi sử dụng nó trên cơ sở hàng ngày để sao lưu.


Yup đã hoạt động nhưng chỉ khi tôi cắt và dán đoạn trích của bạn. Vì một số lý do, bàn phím của tôi không được thiết lập để gõ một trích dẫn kép tiêu chuẩn. Thay vào đó, nó thực hiện điều này
user289455

1
Bạn đang sử dụng bàn phím có phím chết hoạt động. Bạn cần nhấn "và sau đó làm theo nó bằng phím cách.
Rinzwind

Oh! Điều đó cũng làm việc! Bạn sẽ không biết làm thế nào để tắt nó chứ?
dùng289455

có ... chuyển bàn phím sang "tiếng anh (chúng tôi)";)
Rinzwind

1
@YaroslavNikitenko xin lỗi. Có một sự nhầm lẫn ở đó. Nó nên đọc "nếu bạn CHỈ muốn loại trừ các thư mục ẩn".
Rinzwind

2

Tôi sử dụng biểu thức này: --exclude=".[!.]*"

Liệu công việc tốt cho tôi không bao gồm các tập tin và thư mục ẩn.


0

--exclude="/.*"bạn \đang chỉ sai cách.

rsync -a --exclude="/.*" ./ /path/to/sync

2
Không có nhu cầu cho / :) anh ấy không sử dụng ". Nếu anh ấy cần a / thì nên ở cuối để loại trừ các thư mục.
Rinzwind

0

Mở tệp văn bản exclude_me.txtvà nhập như sau:.[a-z]*

Sau đó thực hiện như sau:

rsync -avh --exclude-from='exclude_me.txt' /path/of/Source /path/of/Destination
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.