I need to upload a directory with a rather complicated tree (lots of subdirectories, etc.) by FTP. I am unable to compress this directory, since I do not have any access to the destination apart from FTP - e.g. no tar. Since this is over a very long distance (USA => Australia), latency is quite high.
Following the advice in How to FTP multiple folders to another server using mput in Unix?, I am currently using ncftp
to perform the transfer with mput -r
. Unfortunately, this seems to transfer a single file at a time, wasting a lot of the available bandwidth on communication overhead.
Is there any way I can parallelise this process, i.e. upload multiple files from this directory at the same time? Of course, I could manually split it and execute mput -r
on each chunk, but that's a tedious process.
A CLI method is heavily preferred, as the client machine is actually a headless server accessed via SSH.
rsync
be an option? edit apparently not, as it doesn't work over ftp. Might be worth asking the destination server admin whether he's willing to give yousftp
access - you wouldn't be able to log in, butrsync
would work. – Shadur Jan 20 '14 at 10:57