Ssh – Can scp maintain original file structure on remote server

scpssh

Supposing we have the following files to copy to a remote server:

/dir/test.php
/dir/inc/inc.php

I now want to copy both files to the remote server as follows:

cd /dir/
scp test.php inc/inc.php user@remote:/dir2/ (which contains an inc folder)

Is there an option to make scp copy the files in the respective directories on the remote server?

Currently I would end up with both files in /dir2/ on the remote server.

Best Answer

Yes. Manual page provides information about usage of scp command and it mentions also the -r switch, which means "recursive". You can achieve the same such as:

scp -r dir/ user@remote:/dir2/

Update

For more complicated use cases, use rsync, something like this:

rsync --include="test.php" --include="inc/inc.php" ./dir/ user@remote:/dir2/