Posts

Showing posts with the label Scp

Can Scp Copy Directories Recursively?

Answer : Solution 1: Yup, use -r : scp -rp sourcedirectory user@dest:/path -r means recursive -p preserves modification times, access times, and modes from the original file. Note: This creates the sourcedirectory inside /path thus the files will be in /path/sourcedirectory Solution 2: While the previous answers are technically correct, you should also consider using rsync instead. rsync compares the data on the sending and receiving sides with a diff mechanism so it doesn't have to resend data that was already previously sent. If you are going to copy something to a remote machine more than once, use rsync . Actually, it's good to use rsync every time because it has more controls for things like copying file permissions and ownership and excluding certain files or directories. In general: $ rsync -av /local/dir/ server:/remote/dir/ will synchronize a local directory with a remote directory. If you run it a second time and the contents of the loca...

Can Scp Create A Directory If It Doesn't Exist?

Answer : This is one of the many things that rsync can do. If you're using a version of rsync released in the past several years,¹ its basic command syntax is similar to scp :² $ rsync -r local-dir remote-machine:path That will copy local-source and its contents to $HOME/path/local-dir on the remote machine, creating whatever directories are required.³ rsync does have some restrictions here that can affect whether this will work in your particular situation. It won't create multiple levels of missing remote directories, for example; it will only create up to one missing level on the remote. You can easily get around this by preceding the rsync command with something like this: $ ssh remote-host 'mkdir -p foo/bar/qux' That will create the $HOME/foo/bar/qux tree if it doesn't exist. It won't complain or do anything else bad if it does already exist. rsync sometimes has other surprising behaviors. Basically, you're asking it to figure ...