Мне нужно переустановить один из наших серверов, а также в качестве меры предосторожности, я хочу двигаться /home
, /etc
, /opt
и /Services
на резервный сервер.
Однако у меня есть проблема: из-за большого количества символических ссылок многие файлы копируются несколько раз.
Можно ли заставить scp
игнорировать символические ссылки (или фактически скопировать ссылку как ссылку, а не как каталог или файл)? Если нет, есть ли другой способ сделать это?
a
является архивом (сохраняет вещи),v
подробным,h
удобочитаемым выводом,e
укажите службу, которую вы хотите использовать (в данном случае этоssh
). Подробнее читайте здесьЯ обнаружил, что этот
rsync
метод у меня не работает, однако я нашел альтернативу, которая действительно работала на этом сайте ( www.docstore.mik.ua/orelly ).В частности, раздел 7.5.3 "O'Reilly: SSH: The Secure Shell. Полное руководство" .
источник
scp
илиrsync
.Использование
tar
over вssh
качестве отправителя и получателя тоже помогает:источник
--one-file-system
и на стороне назначения,p
чтобы сохранить разрешения.Одно из решений - использовать трубу-оболочку. У меня есть ситуация, когда у меня есть некоторые файлы * .gz и символические ссылки, созданные некоторым программным обеспечением, чтобы ссылаться на те же файлы * .gz с немного более коротким именем. Если я просто использую scp, то символические ссылки будут скопированы как обычные файлы, что приведет к дублированию. Я знаю, что rsync может игнорировать символические ссылки, но мои файлы gz не сжаты с синхронизируемыми параметрами, и синхронизация копирует эти файлы gz очень медленно. Поэтому я просто использую следующий сценарий для копирования файлов:
Параметр -f найдет только обычные файлы и игнорирует символические ссылки. Вам нужно дать эту команду на исходном хосте. Надеюсь, это поможет некоторым пользователям в моей ситуации. Сообщите мне, если я что-то пропустил.
источник
Однострочное решение, которое может быть выполнено на клиенте для копирования папки с сервера с помощью команды tar + ssh.
Примечание: mkdir является обязательным, если удаленный каталог назначения отсутствует, тогда команда просто сжимает весь домашний каталог удаленного сервера и извлекает его для клиента.
источник