Allows you to call the machine only with FTP src .
Allows you to call the machine with FTP and SSH dst .
ssh dst cd destination-direction wget --mirror --ftp-user=username --ftp-password=password\ --no-host-directories ftp://src/pathname/
Note that running wget with --ftp-password on the command line will give a password to someone else on the system. (And also transmit it over the wire in a clear form, but you knew that.)
If you do not have access to wget , they may have ncftp or lftp or ftp . I just know wget best. :)
Change To use ftp , you need to do something more similar:
ftp src user username pass password bin cd /pathname ls
At this point, pay attention to all directories on the remote system. Create each with !mkdir . Then go to the directory both locally and remotely:
lcd <dirname> cd <dirname> ls
Repeat all directories. Use mget * to get all files.
If it looks awful, that's because it is. FTP was not designed for this, and if your new host does not have the best tools (be sure to find ncftp and lftp and possibly something like ftpmirror ), then either compile the best tools yourself, or get good ones when writing scripts around bad tools. :)
Or, if you can get a shell on src , that would help a lot too. FTP is simply not designed to transfer thousands of files.
In any case, this avoids jumping over your local system, which should greatly help in bandwidth.