Я использую PSCP для загрузки некоторых файлов из Windows в Linux. Я могу делать это нормально, просто загружая по одному файлу за раз. Но у меня есть очень большие каталоги, и я хочу загрузить сразу весь каталог.
Я пытался:
pscp -i C:\sitedeploy\abt-keypair.ppk includes\* root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/*
Выдает ошибку: «pscp: remote filespec / usr / local / tomcat / webapps / ROOT / includes / *: not a directory»
и
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: не обычный файл"
Две проблемы: во-первых, * не попадает на сторону назначения. Во-вторых, -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/
каталог.
Отказ от ответственности:
Вам не нужно использовать -i
для этого. Это для аутентификации файла закрытого ключа. Просто используйте -r
для рекурсивного копирования исходных файлов.
Возможно, вам понадобится метод перетаскивания, поскольку вы используете Windows. Вы можете, например, использовать Клиент WINSCP.
Если вы хотите скопировать каталог и его содержимое, вам не нужно указывать спецификацию файла для места назначения. Просто используйте, например, имя каталога.
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/
Если вы хотите скопировать саму папку со всем, что находится под ней, вы должны использовать следующую команду:
pscp -r -i C:\PrivateKeys\MyPrivateKey.ppk C:\FOLDER1 <username>@<server_id>:/home/<username>/
Но обратите внимание, что в конце пути к папке «C: \ FOLDER» нет косой черты; если вы используете его с конечной косой чертой, например «C: \ FOLDER1 \», он не копирует саму папку, а только копирует все, что находится в папке.