I answered a similar question here a while back. My answer is copied below.
___________________________________
I use cp -Rfv sourcefile destinationfile
with success on a pretty regular basis.
cp = copy
R = maintains file hierarchies
f = if an existing destination file cannot be opened, remove it and try again
v = verbose mode, displays files transferred as it progresses
sourcefile = data you want to copy
destinationfile = directory/drive you want to copy to