scp -r ... but leave out (exclude) a specified subdirectory
Here's the directory structure:
/a/
/a/b/
/a/c/
I want to copy everything, EXCEPT for the /a/c/ subdirectory.
scp -rp myserver:/a . # this will copy everything
Q: How would I specify a directory to leave out in the scp command ?
I don't think you can, but you could use rsync? Something like this:
rsync -a --exclude=a/c myserver:/a .
I think this might be the correct way of doing it so you are still using SSH, I haven't found a way to do it with scp - but using rsync over ssh might resolve it.
rsync -e 'ssh -ax' -av --exclude /a/c myserver:/a .
If you use the -n switch then it will create a dry run of the process:
rsync -e 'ssh -ax' -av --exclude /a/c -n myserver:/a .
You can use extended globbing as in the example below:
#Enable extglob
shopt -s extglob
cp -rv !(./excludeme/*.jpg) /var/destination