Tại sao rsync bỏ qua thư mục chính?


47

Tôi đang cố gắng sử dụng rync cục bộ (trên máy windows) cho máy chủ từ xa (hộp osx của tôi) để kiểm tra tập lệnh xây dựng triển khai từ xa. Tôi đã thực hiện rsync trước đây chỉ tốt giữa 2 máy chủ linux, nhưng hiện tại tôi đang gặp sự cố. Đây là đầu ra:

$ rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

skipping directory /Library/WebServer/sites/staging/app1/.

sent 8 bytes  received 13 bytes  3.82 bytes/sec
total size is 0  speedup is 0.00

$ 

hoặc là

$ rsync -avz -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

receiving file list ... done
./

sent 26 bytes  received 68 bytes  17.09 bytes/sec
total size is 0  speedup is 0.00


$ 

thư mục app1 từ xa trống trong khi thư mục xuất cục bộ có 4 thư mục con và sau đó là một loạt các tệp trong mỗi thư mục đó

Câu trả lời:


64
rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

Bạn đã không cung cấp cho nó bất kỳ tùy chọn nào để đưa nó vào chế độ đệ quy như -rhoặc -a.

thư mục app1 từ xa trống trong khi thư mục xuất cục bộ có 4 thư mục con và sau đó là một loạt các tệp trong mỗi thư mục đó

Bạn có các tùy chọn ngược ở đây? Các lệnh nên được rsync [source] [DESTINATION]. Nếu thư mục app1 trống và bạn đang cố sao chép một thư mục trống thì bạn sẽ không làm gì hữu ích.

Có lẽ bạn cần một cái gì đó như thế này thay thế?

rsync -avz ./export/  myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ 

Cũng thế:

  • Bạn hầu như luôn luôn bao gồm một dấu gạch chéo trên các thư mục với rsync.
  • Hầu như mọi phiên bản rsync được phát hành trong 5-10 năm qua mặc định sử dụng ssh đều có vận chuyển từ xa. Bạn có thể không phải chỉ định -e ssh.

2
Wow .. đó là khá xấu hổ. Có, tôi đã trộn lẫn nguồn và số phận ...
chrisan

1
+1 cho "Bạn hầu như luôn luôn bao gồm dấu gạch chéo trên các thư mục có rsync."
Walrus the Cat

Trên Mac có vẻ như sử dụng cờ -r, nhưng trên linux tôi luôn sử dụng -R ("capital R")
Adam F

@Zoredache Tại sao nó gần như vậy?
Nikhil

3

Thử bật khả năng tích hợp của rsync để xuất tệp nhật ký, bằng cách thêm tùy chọn sau vào lệnh của bạn.

--log-file=/path/to/log.file

Bạn cũng có thể tăng mức độ chi tiết bằng cách thêm một -vtùy chọn bổ sung , ví dụ: -avvztheo trang man, 'Tùy chọn hai -v sẽ cung cấp cho bạn thông tin về những tập tin nào bị bỏ qua và thêm một chút thông tin ở cuối.'

Nếu thông tin trả về này không giúp xác định vấn đề, vui lòng chỉnh sửa câu hỏi của bạn và thêm đầu ra bổ sung.

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.