
Я копирую веб-сайт с удаленного сервера на другой и у меня есть
SOURCE SERVER
/var/www/vhosts/namesiteA.com
/FolderA
/FolderB
DESTINATION SERVER
/var/www/vhosts/namesiteB.com
После запуска следующего bash:
#!/bin/bash
SOURCE="[email protected]:/var/www/vhosts/namesiteA.com/"
DESTINATION="/var/www/vhosts/namesiteB.com/"
sshpass -p "<source_server_pass>" scp -p -r "$SOURCE" "$DESTINATION"
работает отлично, но я ожидаю:
DESTINATION SERVER
/var/www/vhosts/namesiteB.com
/FolderA
/FolderB
instead I get:
/var/www/vhosts/namesiteB.com
/namesiteA.com
/FolderA
/FolderB
решение1
При использовании нового протокола на основе SFTP scp
вам понадобится завершающий элемент .
в пути к исходному каталогу:
SOURCE="[email protected]:/var/www/vhosts/namesiteA.com/."
К сожалению, если вы используете устаревшую версию, scp
которая использует старый scp
протокол,ион достаточно новый, чтобы обновить его исправлениемCVE-2018-20685, конечная точка разорвет копию. Смотритеscp: ошибка: неожиданное имя файла