Rsync is your tool:
rsync --archive source/ dest/
Archive is just a compound option consisting of:
--recursive # recurse into directories
--links # copy symlinks as symlinks
--perms # preserve permissions
--times # preserve times
--group # preserve group
--owner # preserve owner
--devices # preserve device files
--specials # preserve special files
If you don't have rsync on your system you should get it. You could probably create some other solution using other tools, but if you are looking for that one program that does this one thing well (unless I misunderstand your question), what you are looking for is rsync.