Виконайте rsync, дотримуючись символьних посилань


67

У мене є каталог, який містить символічні посилання на інші каталоги, розміщені на різних носіях моєї системи:

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

Але символічні посилання відображаються як:

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

Як я можу виконати rsyncвідповідний символічним посиланням?

наприклад:

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

Відповіді:


98

-LПрапор Rsync буде синхронізувати вміст файлів або каталогів , пов'язаних, а не символічного посилання.


1
Коли я це роблю, всі символьні посилання приймача видаляються, і мій відправник починає повторно надсилати файли.
понести

Хіба це не те, що ти хочеш? Я думав, ти хочеш мати справжні файли на стороні прийому, а не лише символьні посилання. Ви маєте на увазі, що хочете, щоб символьні посилання були скопійовані як символьні посилання, але автоматично переписані, щоб вказати на "правильне" місце в системі прийому? Якщо так, то це не те, що зазвичай означає «rsync, який слід за символічними посиланнями».
MadHatter

4
Привіт - це каталоги. Я отримав це для роботи з прапором -K.
понести

4
Я впевнений, що SO робить мене більш дурним ..
Джон Хант

3
Для уточнення, -LKякщо ви хочете дотримуватися як зв'язаних файлів, так і каталогів
Ман

17

Щойно зіткнувся з цією проблемою. І якщо ви хочете, щоб rsync ставився до каталогів зв'язаними посиланнями, вам потрібен Kваріант

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


Ви також можете додати параметр --copy-unsafe-links
Григорій Магаршак

2

Вам потрібні обидва, -L і -Kякщо у вас є посилання на обидві сторони, наприклад, ви вже зробили свою першу rsync і хочете оновити резервну копію за допомогою rsync.

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

У таких випадках, якщо ви користуєтесь лише ними -L, символічні посилання на стороні приймача будуть стерті та буде створено новий справжній рейтинг.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.