How can I copy file from local server to remote with creating directories which absent via SSH?

StackOverflow https://stackoverflow.com/questions/23399678

  •  13-07-2023
  •  | 
  •  

Question

I can copy file via SSH by using SCP like this:

cd /root/dir1/dir2/
scp filename root@192.168.0.19:$PWD/

But if on remote server some directories are absent, in example remote server has only /root/ and havn't dir1 and dir2, then I can't do it and I get an error.

How can I do this - to copy file with creating directories which absent via SSH, and how to make it the easiest way?

The easiest way mean that I can get current path only by $PWD, i.e. script must be light moveable without any changes.

Était-ce utile?

La solution 2

I can make the same directories on the remote servers and copy file to it via SSH by using SCP like this:

cd /root/dir1/dir2/
ssh -n root@192.168.0.19 "mkdir -p '$PWD'"
scp -p filename root@192.168.0.19:$PWD/

Autres conseils

This command will do it:

rsync -ahHv --rsync-path="mkdir -p $PWD && rsync" filename -e "ssh -v"  root@192.168.0.19:"$PWD/"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top