Linux rsync không có thư mục đệ quy


0

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 --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ố ..
Hastur

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

Câu trả lời:


3

Không giúp đỡ à? Tùy chọn -d và -m của trang con người:

   -d, --dirs                  transfer directories without recursing 
   -m, --prune-empty-dirs      prune empty directory chains from file-list

và chạy ...

mkdir dirA
mkdir dirB
mkdir dirA/dirAA
touch dirA/fileA
touch dirA/dirAA/fileAA
rsync --stats -dm dirA/ dirB/

Đầu ra:

Number of files: 3 (reg: 1, dir: 2)
Number of created files: 1 (reg: 1)
Number of deleted files: 0
Number of regular files transferred: 1
Total file size: 0 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 123
Total bytes received: 31

Kết quả:

ls dirB
fileA

Hoàn hảo! Điều này có thể vượt qua một cấu trúc tệp lớn ở cấp độ dir đầu tiên một cách dễ dàng.
wcndave
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.