Você provavelmente precisará usar algo mais sofisticado. O próprio FTP (se bem me lembro) não é capaz de transferir diretórios inteiros, tudo o que ele sabe é transferir um arquivo. Assim, o cliente tem que traduzir o seu pedido "enviar este diretório" para uma seqüência de upload deste arquivo (possivelmente precedido por fazer este diretório ).
Um desses clientes sofisticados é lftp (veja também Wikipedia ), seu comando mirror -R deve fazer o trabalho.
( ncftp 's ncftpput tem um sinal -R para isso também.)
Editar Claro que você também pode fazer um upload recursivo com find e curl ' --ftp-create-dirs bandeira. .