Thực hiện rsync trong khi theo các liên kết sym


67

Tôi có một thư mục chứa các liên kết tượng trưng đến các thư mục khác nằm trên các phương tiện khác nhau trên hệ thống của tôi:

/opt/lun1/2011
/opt/lun1/2010
/opt/lun2/2009
/opt/lun2/2008
/opt/lun3/2007

Nhưng các liên kết tượng trưng hiển thị như:

/files/2011
/files/2010
/files/2009
/files/2008
/files/2007

Làm thế nào tôi có thể thực hiện một rsyncsau theo các liên kết tượng trưng?

ví dụ:

rsync -XXX /files/ user@server:/files/

Câu trả lời:


98

Các -Llá cờ để rsync sẽ đồng bộ hóa nội dung của các tập tin hoặc thư mục liên kết đến, chứ không phải là liên kết tượng trưng.


1
Khi tôi làm điều này, tất cả các liên kết tượng trưng của người nhận sẽ bị xóa và người gửi của tôi bắt đầu gửi lại các tệp.
bắt đầu từ

Đó không phải là những gì bạn muốn? Tôi nghĩ rằng bạn muốn có các tập tin thực sự ở phía nhận, không chỉ là các liên kết tượng trưng. Bạn có nghĩa là bạn muốn các liên kết được sao chép dưới dạng liên kết tượng trưng, ​​nhưng được viết lại tự động để trỏ đến vị trí "bên phải" trên hệ thống nhận? Nếu vậy, đó không phải là "rsync theo các liên kết tượng trưng".
MadHatter

4
Xin chào - đây là những thư mục. Tôi đã làm điều này để làm việc với cờ -K.
bắt đầu từ

4
Tôi chắc rằng SO đang khiến tôi trở nên ngu ngốc hơn ..
John Hunt

4
Để làm rõ, -LKnếu bạn muốn theo dõi cả các tệp và thư mục được liên kết với nhau
Mahn

17

Chỉ cần gặp vấn đề này. Và nếu bạn muốn rsync coi thư mục symlinked là thư mục, bạn muốn Ktùy chọn

rsync -K /files/ user@server:/files/


Bạn cũng có thể muốn thêm tùy chọn
--copy

2

Bạn cần cả hai -L-Knếu bạn có liên kết tượng trưng ở cả hai bên, ví dụ bạn đã hoàn thành rsync đầu tiên của mình và muốn cập nhật bản sao lưu bằng rsync.

    -L, --copy-links            transform symlink into referent file/dir
    -K, --keep-dirlinks         treat symlinked dir on receiver as dir

Trong những trường hợp như vậy, nếu bạn chỉ sử dụng -L, các liên kết tượng trưng ở phía người nhận sẽ bị xóa sổ và thư mục thực sự mới sẽ được thực hiện.

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.