How to copy the bacup file to external drive?

The backup compresses itself in tar.gz. I have around 20 Gb of compressed tar.gz file. Every time I copy it to external drive it gets corrupt in the transfer. The md5 hash is always different from the original backed up file.

What is the best practice to copy? Should I split the file ? rsync or cp , which is better? How can I transfer the file error free?