rsync
From thelinuxwiki
using ssh
# rsync -avz -e ssh remoteuser@remotehost:/remote/dir /this/dir/
effect of trailing slash...
#1: rsync -a --delete /some/path/a/ /some/otherpath/
#2: rsync -a --delete /some/path/a /some/otherpath/
The first will make /some/otherpath mirror the contents of /some/path/a, while the latter will create a directory in /some/otherpath/a whose contents will mirror /some/path/a.