I use often lftp to move data from server to server/client. I like this FTP client because is small, very powerful to use and present in every Linux distribution.
Plus, I can run lftp from the shell (maybe from a screen session) and forget it until the job is done 😉
To limit bandwidth with lftp, you can connect to the FTP site as always and then, before starting a transfer, insert these commands:
set net:connection-limit 1 set net:limit-rate 0:512000
The first value in net:limit-rate is the download limit, the second number is the upload limit (after the colon), so…
10 Kb/s -> 10240
500 Kb/s -> 512000
In this example I’m limiting the upload rate to 500 Kb/s.