Tôi có một hệ thống phân cấp các thư mục và muốn đồng bộ hóa nội dung tập tin của nhau.
Vì vậy, một dirA rsync đơn giản để dirB
Tuy nhiên, không có phần tử đệ quy, nó không bao gồm các tệp trong thư mục.
dave:/tmp# mkdir dirA
dave:/tmp# mkdir dirB
dave:/tmp# touch dirA/tmp.txt
dave:/tmp# rsync --stats dirA/ dirB/
skipping directory .
Number of files: 0
Number of files transferred: 0
tôi có thể làm
dave:/tmp# rsync --stats dirA/* dirB/
Number of files: 1
Number of files transferred: 1
Tuy nhiên, nếu có hàng chục ngàn tệp, danh sách đối số có thể trở nên quá dài.
Có vẻ như một thao tác khá đơn giản để đồng bộ nội dung của hai thư mục, không có thư mục phụ, tuy nhiên tôi rõ ràng đang thiếu một cái gì đó?
Hãy thử 'rsync --stats dirA dirB' (không có /).
—
Alex.S
Bạn đã thử chưa
—
Hastur
--exlude
với một cái gì đó như rsync -r --exclude='*/*' SRC/ DEST/
? Bạn có thể tránh việc shell cũng mở rộng tham số ..
Hoặc cái này (tìm thấy trong Internet): rsync -avc --exclude " / "./source/ ./Nơi Đến/
—
Alex.S
Tùy chọn đầu tiên không hoạt động, đã thử mà không có /
—
wcndave
phải chỉ định loại trừ cho những gì dường như một nhiệm vụ bình thường dường như quá mức cần thiết và khiến tôi nghĩ rằng tôi đang thiếu một cái gì đó ...
—
wcndave