Выполните 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
Когда я делаю это, все символические ссылки получателя удаляются, и мой отправитель начинает повторную отправку файлов.
ensnare

Разве это не то, что вы хотите? Я думал, что вы хотите иметь реальные файлы на принимающей стороне, а не только символические ссылки. Вы имеете в виду, что вы хотите, чтобы символические ссылки копировались как символические ссылки, но автоматически переписывались, чтобы указывать на «правильное» место в принимающей системе? Если так, то это не то, что обычно подразумевается под «rsync, который следует за символическими ссылками».
MadHatter,

4
Привет - это каталоги. Я получил это для работы с флагом -K.
ensnare

4
Я уверен, что это делает меня более глупым ..
Джон Хант

4
Чтобы уточнить, -LKхотите ли вы следовать как символическим ссылкам, так и каталогам
Mahn

17

Просто столкнулся с этой проблемой. И если вы хотите, чтобы rsync рассматривал символьные каталоги как каталоги, вам нужна Kопция

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


Вы также можете добавить опцию --copy-unsafe-links
Грегори Магаршак

2

Вам нужны оба, -L и -Kесли у вас есть символические ссылки с обеих сторон, например, вы уже сделали 1-ю 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.