PSCP: загрузить всю папку, Windows в Linux

36

Я использую PSCP для загрузки некоторых файлов из Windows в Linux. Я могу сделать это хорошо, просто загружая один файл за раз. Но у меня есть несколько очень больших каталогов, и я хочу загрузить сразу весь каталог.

Я пытался:

pscp -i C:\sitedeploy\abt-keypair.ppk includes\* root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/*

Выдает ошибку: «pscp: удаленная спецификация файлов / usr / local / tomcat / webapps / ROOT / включает в себя / *: не каталог»

а также

pscp -i C:\sitedeploy\abt-keypair.ppk includes\ root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/

Выдает ошибку: "scp: includes: не обычный файл"

а также

pscp -i C:\sitedeploy\abt-keypair.ppk includes root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes

Выдает ошибку: "scp: includes: не обычный файл"

UpHelix
источник
4
Вы пытались добавить -r?
Пабло Кастеллацци

Ответы:

36

Две проблемы: во-первых, * не идет на стороне назначения. Во-вторых, -rдля копирования всего каталога и подкаталогов.

pscp -i C:\sitedeploy\abt-keypair.ppk includes\* root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/

Скопирует все файлы из локального includes\каталога в .../includes/каталог на сервере.

pscp -r -i C:\sitedeploy\abt-keypair.ppk includes\ root@mysite.com:/usr/local/tomcat/webapps/ROOT/

Скопирует сам includes\каталог, включая все файлы и подкаталоги, в .../ROOT/каталог на сервере (где содержимое локального каталога будет сливаться с любым существующим .../ROOT/includes/каталогом.

DerfK
источник
6

Отказ от ответственности:

Вам не нужно использовать -iдля этого. Это для аутентификации файла с закрытым ключом. Просто используйте -rдля рекурсивного копирования исходных файлов.

Возможно, вы захотите метод перетаскивания, так как вы используете Windows. Вы можете, например, использовать клиент WINSCP .

Swiper Noswiping
источник
5

Если вы хотите скопировать каталог и его содержимое, вам не нужно указывать спецификацию файла для места назначения. Просто используйте имя каталога, например.

pscp  -i C:\sitedeploy\abt-keypair.ppk includes\* root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/

Если вы хотите скопировать каталог и все, что находится под ним, вы можете использовать -r:

pscp -r -i C:\sitedeploy\abt-keypair.ppk includes\ root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/
Время пришло
источник