FTP is awful -- it was born in the mid-1980s and, frankly, it should've died there.
I'd probably start with scp (Secure Copy), which should be part of the openssh or openssh-client package on your favorite Linux distro (including Cygwin), or available as part of the PuTTY package if you're running Windows without Cygwin. You'll need to configure an ssh server on the destination host, but that's pretty straightforward assuming you've got root/Administrator access (if you don't, things get harder); once you've got the ssh server running, and can access it from the source host, it's just a matter of
user@source $ scp /path/to/file user@destination:/path/to/receiving/directory
This should satisfy your point 1 pretty well, since scp has reasonably low overhead; it should certainly satisfy point 2, as it will definitely detect a failing connection and can be (probably) configured or (certainly) scripted to retry as many times as necessary; it covers point 3 easily, as no intermediate host or service is required; and it covers point 4 nicely as well, since you can install an ssh server on both hosts and then transfer the file in whichever direction you prefer. You also get encryption for free, which may or may not be of use to you.
The OpenSSH manual is probably a good place to start, and I'll be glad to offer further assistance if you do end up going this route -- I have some experience in using scp/ssh for these sorts of transfers (although not from Canada to Africa or vice versa, and not for a single file topping 70GB in size, I admit!)
Hope this helps!
4I like
rsync
for this purpose. Give it the--partial
flag and it will save any progress if it's disconnected. – David Schwartz – 2012-10-01T23:12:27.8001What OS on both sides? – grs – 2012-10-02T00:13:12.280
The suggested exact duplicate is not, as it doesn't address the questioner's restriction against using a third-party service to facilitate the file transfer. – herrtodd – 2012-10-02T18:25:32.480
@grs, windows server 2008 R2 – Robby Shaw – 2012-10-02T22:53:01.737
After 5 days you want to send another 70gb. Are these 100% different from the initial 70gb? How much data changes in these 5 days? If the delta is relatively small it may be wise to airmail the first 70gb and then come up with a scheme to just transmit the deltas. – akira – 2012-10-03T04:24:47.200
@akira, Thanks for mention that. But I am not sure which part is changed. The system write data to anywhere in these files. – Robby Shaw – 2012-10-03T05:32:07.957
@RobbyShaw: can you connect to a "network drive" on the remote machine? – akira – 2012-10-03T17:22:47.723
@akira: yes, I can remote control the other server. – Robby Shaw – 2012-10-03T20:59:12.990
there are multiple solutions to transfer only changed files out of the 70gb pool of files. this should make transfers in the future much faster. http://en.wikipedia.org/wiki/Remote_Differential_Compression
– akira – 2012-10-04T06:50:35.760