Sao chép nội dung thư mục Rupync nhưng không phải chính thư mục


118

Tôi đang cố gắng đồng bộ hóa hai nội dung của các thư mục với tên khác nhau:

rsync -av ~/foo user@remote.com:/var/www/bar

Tôi muốn sao chép nội dung foovào barmáy chủ từ xa, nhưng không phải foochính thư mục . Tôi đã thử một cái gì đó như foo/*, nhưng rsync không hỗ trợ điều đó.

rsync luôn tạo

/var/www/bar/foo

18
chỉ cần để lại dấu gạch chéo là đủ
exussum

Câu trả lời:


189

Thử rsync -av ~/foo/ user@remote.com:/var/www/bar/


37
Hành vi này là kỳ lạ, so với mvhoặc cp.
zeekvfu

Có vẻ kỳ lạ và không nhất quán để làm cho dấu gạch chéo có liên quan đến chỉ lệnh đặc biệt này. Tự hỏi tại sao nó không được thay đổi.
Luke Davis

39
Trong trường hợp ai đó cũng thắc mắc tại sao nó lại hoạt động: đó là dấu /sau tên thư mục.
Etienne Bruines

30

Thật đơn giản,

rsync /var/www/ /home/var- sao chép nội dung của / var / www / nhưng không phải chính thư mục www .

rsync /var/www /home/var- sao chép thư mục www cùng với tất cả nội dung của nó.

"/" Tạo sự khác biệt.


6
Đây phải là câu trả lời được chấp nhận thực sự giải thích sự khác biệt
edi9999

29

Không chỉ liên quan đến rsync, nhưng khi bạn đang tìm kiếm các ví dụ về cách sử dụng lệnh GNU / Linux, bạn có thể sử dụng "vd" hiển thị các ví dụ rõ ràng. ví dụ: có sẵn ở đây, với hướng dẫn về cách cài đặt nó: https://github.com/srsudar/eg

Kết quả cho eg rsyncnhư sau

# rsync


copy the folder source_dir and its content into destination_dir

    rsync -av source_dir destination_dir


copy the contents of source_dir (trailing slash) into destination_dir

    rsync -av source_dir/ destination_dir

0

Điều hướng vào thư mục bạn muốn sao chép, vì vậy:

cd ~/foo 

Chạy cái này:

rsync -avz . user@remote.com:/var/www/bar
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.