Hace un tiempo encontré la solución para descargar directorios completos por ftp en línea de comandos usando wget. Hoy he necesitado subir un directorio completo y ha sido posible usando lftp, con el que también puedes descargar. Es muy sencillo:
Primero hay que conectarse
lftp -u usuario dominio.com (nos pedirá clave)
Para subir todo el contenido del directorio donde nos encontremos
mput *
Para descargarlo
mget *
Para descargar un directorio
mirror directorio/
Para subir un directorio
mirror -R directorio/
Aquí está la página de man de lftp con todas sus opciones.