У меня есть каталог, содержащий символические ссылки на другие каталоги, расположенные на разных носителях в моей системе:
/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/
В -L
Флаг для rsync будет синхронизировать содержимое файлов или каталогов, на которые есть ссылка, а не символическая ссылка.
Просто столкнулся с этой проблемой. И если вы хотите, чтобы rsync обрабатывал каталоги с символическими ссылками как каталоги, вам нужен K
вариант
rsync -K /files/ user@server:/files/
Тебе нужно обе -L
и -K
если у вас есть символические ссылки с обеих сторон, например у вас уже есть первая rsync и вы хотите обновить резервную копию с помощью rsync.
-L, --copy-links transform symlink into referent file/dir
-K, --keep-dirlinks treat symlinked dir on receiver as dir
В таких случаях, если вы используете только -L
, символические ссылки на стороне получателя будут удалены, и будет создан новый реальный каталог.