The command is very very simple: just type
curl -T localfile.ext ftp://username:[email protected]/remotedir/
If you want to use a different destination filename just add it at the end:
curl -T localfile.ext ftp://username:[email protected]/remotedir/remotefile.zip
And for a full folder ?
You can use this instead:
find /server/ -exec curl -T {} ftp://some-ftp-site/folder/ –user user:pass \;
A good alternative also is to use rclone: https://rclone.org/ – one of the available targets (among many) is FTP