Кажется, я не могу убедить scp вести себя.Как скопировать scp -r-копию?
Для тестовых данных
[email protected]:/tmp$ find /tmp/a1/
/tmp/a1/
/tmp/a1/a2
/tmp/a1/a2/a3
О выдаче команды
[email protected]:/tmp$ scp -r /tmp/a1 domU-12-31-38-00-E2-52.compute-1.internal:/tmp/a1
я ожидал бы ту же структуру каталогов, созданного на Дому-12-31-38-00-E2-52.compute- 1.Internal, независимо от того, какой каталог/tmp/a1 существует на целевом хосте или нет. Вместо того, что УПП на самом деле создает является следующая структура (если/TMP/a1 существует на целевом хосте)
[email protected]:/tmp$ ssh domU-12-31-38-00-E2-52.compute-1.internal find /tmp/a1
/tmp/a1
/tmp/a1/a1
/tmp/a1/a1/a2
/tmp/a1/a1/a2/a3
Как УПП быть вынуждены копировать в данный каталог в качестве корня операции?
Позже я хотел был бы сценаризировать эту операцию так, чтобы данный путь к каталогу на главном я могу вызвать скрипт, который будет реплицировать одну и ту же структуру каталогов на все подчиненные. Обратите внимание, что поведение rsync (по крайней мере, из того, что я тестировал) одинаково.
Спасибо, Maxim.
Я не думаю, что он будет работать во всех случаях как общее копирование на служебную программу. Ваше предложение означает, что мне нужно будет найти абсолютный путь для параметра, а затем решить, является ли это каталогом или нет. Если после этого выровняете один уровень вверх до создания команды scp. Разве нет более простого решения, «более дружественного сценарию»? –
Вы также можете накладывать один уровень на файлы. Я не думаю, что это должно быть условным. 'dirname' сделает это за вас. Вы должны быть осторожны с косыми чертами в конце пути. –