Как скопировать файлы с симлинками через ssh?

Как скопировать файлы с симлинками через ssh?

19.08.2015 11:16:00 Просмотров 18 Источник

Пытаюсь через ssh на удаленном хостинге скопировать папки и файлы из одной директории в другую, но симлинки не копируются. Как мне осуществить копирование вместе с со всеми симлинками? Система MacOS. введите сюда описание изображения

У вопроса есть решение - Посмотреть?

Ответы - Как скопировать файлы с симлинками через ssh? / Как скопировать файлы с симлинками через ssh?

Борис

19.08.2015 11:28:29

$ cd /source/dir/
$ cp -r -L * /distanation/dir/
https://ru.stackoverflow.com/questions/443900/%d0%9a%d0%b0%d0%ba-%d1%81%d0%ba%d0%be%d0%bf%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d1%82%d1%8c-%d1%84%d0%b0%d0%b9%d0%bb%d1%8b-%d1%81-%d1%81%d0%b8%d0%bc%d0%bb%d0%b8%d0%bd%d0%ba%d0%b0%d0%bc%d0%b8-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-ssh/443902#comment468219_443902
увы, не помогло. :(
https://ru.stackoverflow.com/questions/443900/%d0%9a%d0%b0%d0%ba-%d1%81%d0%ba%d0%be%d0%bf%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d1%82%d1%8c-%d1%84%d0%b0%d0%b9%d0%bb%d1%8b-%d1%81-%d1%81%d0%b8%d0%bc%d0%bb%d0%b8%d0%bd%d0%ba%d0%b0%d0%bc%d0%b8-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-ssh/443902#comment468222_443902
@BenjaminButton: хм. для mac os ключи для cp могут отличаться. cp -R -L * /distanation/dir/ - может так?
Outtruder

19.08.2015 01:55:59

cd /source/dir/ && tar -cf - * | ( cd /destination/dir/ && tar -xf - )
https://ru.stackoverflow.com/questions/443900/%d0%9a%d0%b0%d0%ba-%d1%81%d0%ba%d0%be%d0%bf%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d1%82%d1%8c-%d1%84%d0%b0%d0%b9%d0%bb%d1%8b-%d1%81-%d1%81%d0%b8%d0%bc%d0%bb%d0%b8%d0%bd%d0%ba%d0%b0%d0%bc%d0%b8-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-ssh/443948#comment468258_443948
IMHO лучше cd /source && tar -cf - ./dir | ( cd /destination && tar -xf - ) т.к. 1) в destination dir может и отсутсвовать 2) * не сопоставляется с файлами, которые начинаются с точки...
avp

19.08.2015 02:26:54

В Linux

sudo cp -a /source/dir /destination

(выполнение от root сохранит пользователей, группы и т.п.)

А в MAC смотрите man cp (возможно там так же).

Является ответом!
EugZol

19.08.2015 02:55:32

Для сохранения симлинков надо использовать rsync с опцией -a:

# на конце исходной папки нужно ставить /, иначе
# скопируется сама папка, а не содержимое
rsync -a /path/to/source/ /path/to/destination

Симлинки, которые указывали на абсолютный путь, продолжат указывать на него же. Симлинки, которые указывали на относительный путь, опять же, продолжат указывать на относительный (т.е. будут указывать на файл уже в новой папке).

Закрыть X