Копировать папку с scp, содержащую ссылки

Копировать папку с scp, содержащую ссылки

Как скопировать папку с scp, содержащую ссылки? При использовании флага -rкопируются все данные, на которые указывают ссылки. Как скопировать саму ссылку?

решение1

Используйте rsync. Это дает вам гораздо больше контроля над тем, что копируется. Для рекурсивного копирования каталогов и копирования символических ссылок как таковых используйте rsync -rl. Но на самом деле, в большинстве случаев вам следует использоватьrsync -a, который в основном создает идентичную копию: каталоги копируются рекурсивно, символические ссылки и именованные каналы/сокеты/устройства копируются как таковые, разрешения и временные метки сохраняются и т. д. (Однако время доступа не сохраняется. А некоторые «дополнительные» атрибуты требуют дополнительных флагов.)

Есть параметры для управления тем, как копировать символические ссылки, указывающие за пределы копируемого дерева: --safe-linksпропускать их, --munge-linksизменять их на висячие ссылки восстанавливаемым способом. См.руководстводля получения подробной информации.

Rsync не поставляется с ssh, но он является частью установки по умолчанию многих систем unix, а если нет, то обычно доступен как упакованная программа. Его также нужно установить на сервере. Он требует доступа SSH на сервере, как и scp (если доступ к ограниченной оболочке, он должен разрешать rsync, что часто бывает, если он разрешает scp).

Связанный контент