I like rsync. It is part of the core utilities on most (if not all) Unix systems. It does an efficient "differential" transfer if a file is changed which is especially nice for large database files where only a little bit changes. Repeating the command updates the target area without transferring anything which has not changed.
rsync -a SRC DST

Either or both of source and destination may be on other machines (uses ssh to securely transfer).