Here's a quick linux tip:
I recently needed to transfer a large volume of files to a client's Godaddy shared hosting based account - unfortunately Godaddy would terminiate my connection whenever I tried uploading more than 500mb. The easy solution to this was to split up the zip archive into smaller pieces.
The Linux Split command comes in handy for this:
split -b 250m inputfile.zip inputfile-
Executing this command will split your input file into "inputfile-aa, inputfile-ab, inputfile-ac, etc...", which each individual file being 250mb.
You then transfer each file over individually, and the put it all back together with this command:
cat inputfile-aa inputfile-ab ... > originalfile.zip