DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Snippets has posted 5883 posts at DZone. View Full User Profile

Quickly Copy Large Directory Tree Via SSH

07.30.2005
| 18258 views |
  • submit to reddit
        To copy the entire directory tree at /some/path to other.host via SSH...

find /some/path -print | sort | cpio -o -Hnewc | ssh -C other.host "cpio -idvum"

Make sure you use an absolute path to the directory tree.  Existing files on the destination host will be overwritten unconditionally.    

Comments

Snippets Manager replied on Mon, 2012/05/07 - 2:13pm

True, but only if you have regular files in the directory. scp doesn't play nice with special files like symlinks, hard links, FIFOs, and devices. cpio is guaranteed to preserve those.

Snippets Manager replied on Mon, 2012/05/07 - 2:13pm

If you just want to copy a tree you can use: scp -r /top/of/tree my_login@other.host:/location (or location)