scp + copy the same links
Why does the scp
command not copy links from the local computer to the other?
scp -rp dir linux:/dir_target
How can I copy the links when in the source directory I have both files and links?
If I understand what you want correctly. You want to exactly mirror dir on the local machine to dir_target on linux, and it is copying the contents of the symlink, rather than copy the symlink itself. To make an exact duplicate, you need to use rsync instead of scp.
rsync -Wav --progress dir linux:dir_target
I suspect that will have the desired result. I generally use rsync anyway because it will only copy files that need to be copied, and generally is more intelligent than scp.
This is a good question. Unfortunately, scp does not copy symlinks, and it looks as if there are no plans to add it: https://bugzilla.mindrot.org/show_bug.cgi?id=485.
However, alternatives do exist. You could:
- Use
tar cvfz
to compress the folder (tar will preserve the links); then scp the tar file - Use the
rsync -e ssh
switch to sync over ssh (for examplersync -ave ssh /src/dir user@hostname:/folder
) -
Use a command like this to find and list symlinks, then re-create them on the other side (not great, but I considered implementing this myself):
ls -la `find openddr_ODRINT1/ -type l`