PSCP: Upload an entire folder, Windows to Linux
Solution 1:
Two problems: First, the * does not go on the destination side. Second, -r
is for copying an entire directory and subdirectories.
pscp -i C:\sitedeploy\abt-keypair.ppk includes\* [email protected]:/usr/local/tomcat/webapps/ROOT/includes/
Will copy all of the files in the local includes\
directory to the .../includes/
directory on the server.
pscp -r -i C:\sitedeploy\abt-keypair.ppk includes\ [email protected]:/usr/local/tomcat/webapps/ROOT/
Will copy the includes\
directory itself, including all files and subdirectories, to the .../ROOT/
directory on the server (where the contents of the local directory would merge with any existing .../ROOT/includes/
directory.
Solution 2:
Disclaimer:
You don't need to use -i
for this. It's for private key file authentication. Just use -r
to copy the source files recursively.
You might want a drag and drop method since you're using Windows. You can - for example - use WINSCP client.
Solution 3:
If you want to copy a directory and its contents you don't need to provide a file specification for the destination. Just use the directory name, for example.
pscp -i C:\sitedeploy\abt-keypair.ppk includes\* [email protected]:/usr/local/tomcat/webapps/ROOT/includes/
If you want to copy the directory and everything below it then you can use -r
:
pscp -r -i C:\sitedeploy\abt-keypair.ppk includes\ [email protected]:/usr/local/tomcat/webapps/ROOT/includes/